在pandas数据框中查找包含各种类型的列表的重复行

时间:2019-06-14 19:41:58

标签: python-3.x pandas list duplicates

背景

我有以下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'

问题

如何检查包含多种类型的列表的数据框中的重复行?

1 个答案:

答案 0 :(得分:0)

df.loc[df.astype(str).drop_duplicates().index]