Ошибка хэширования серийных копий Pandas Drop - PullRequest
0 голосов
/ 27 августа 2018

Я создал фрейм данных pandas, но при удалении повторяющихся строк мне выдается ошибка:

TypeError: объекты 'Series' являются изменяемыми, поэтому их нельзя хэшировать

Это происходит, когда я бегу:

print(type(data)) # <class 'pandas.core.frame.DataFrame'> check that it's not a series
data.drop_duplicates(subset=['statement'], inplace=True)
print(data.info())

Информация возвращает это:

> class 'pandas.core.frame.DataFrame'
> Int64Index: 39671 entries, 0 to 39670
> Data columns (total 4 columns):
> statement          39671 non-null object
> topic_direction    39671 non-null object
> topic              39671 non-null object
> direction          39671 non-null object
> dtypes: object(4)
> memory usage: 1.5+ MB
> None

1 Ответ

0 голосов
/ 27 августа 2018

отдельные элементы в вашем столбце 'statement' равны pandas.Series. Это явный признак того, что все сбилось с пути. Вы можете проверить мою заявку, запустив data['statement'].apply(type), вы должны увидеть группу <pandas.Series> или что-то подобное.

Если вы застряли в ситуации, попробуйте

df[~df['statement'].apply(tuple).duplicated()]

Это заставляет каждый элемент столбца 'statement' быть tuple, который является хешируемым. Затем вы можете найти дубликаты строк и отфильтровать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...