背景
我有以下df
,其中包含列表类型的混合
import pandas as pd
df = pd.DataFrame({'Size' : [[[['small', 'small', 'big', 'big']]], [['big', 'small','small']], ['big'], ['big']],
'ID': [1,2,3,3],
'Animal' : [['cat', 'dog', 'dog', 'cat'], ['dog', 'pig','dog'], ['pig'], ['pig']]
})
看起来像这样
Animal ID Size
0 [cat, dog, dog, cat] 1 [[[small, small, big, big]]]
1 [dog, pig, dog] 2 [[big, small, small]]
2 [pig] 3 [big]
3 [pig] 3 [big]
问题
我使用以下
df.duplicated()
由于我的数据框包含列表,我收到以下错误(至少我认为这是原因)
TypeError: unhashable type: 'list'
问题
如何检查包含多种类型的列表的数据框中的重复行?
答案 0 :(得分:0)
df.loc[df.astype(str).drop_duplicates().index]