熊猫丢弃重复系列哈希错误



我创建了一个熊猫数据帧,但是在删除重复行时,我得到了错误:

类型错误:"系列"对象是可变的,因此无法对其进行哈希处理

当我运行时会发生这种情况:

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

'statement'列中的各个元素pandas.Series。 这是一个明显的迹象,表明事情已经误入歧途。 您可以通过运行data['statement'].apply(type)来验证我的声明,您应该会看到一堆<pandas.Series>或类似的东西。

如果您遇到这种情况,请尝试

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

这会强制'statement'列的每个元素都是可哈希的tuple然后,您可以找到重复的行并进行过滤。

最新更新