2016-07-07 3 views
1

У меня есть DataFrame, давайте просто назовите его df.Pandas DataFrame to_dict не работает после drop_duplicates

return df.to_dict(orient="records") добросовестно выплевывает список диктов.

Но если я

df.drop_duplicates 
return df.to_dict(orient="records") 

это не удается, и говорит:

'функция' объект не имеет атрибута 'to_dict'

ответ

2

Я думаю, что вы пропустите (), потому что без ()drop_duplicates просто ссылается на функцию, поэтому df становится копией функции, а не Resu лп его выполнения (спасибо andychase за комментарий):

df = df.drop_duplicates() 
return df.to_dict(orient="records") 

Или:

df.drop_duplicates(inplace=True) 
return df.to_dict(orient="records") 
+0

Это верно. Чтобы объяснить, почему это так, без '()' 'drop_duplicates' просто ссылается на функцию, поэтому' df' становится копией функции, а не результатом ее выполнения. – andychase

+0

@andychase, приятное объяснение, я добавляю его, чтобы ответить. – jezrael

Смежные вопросы