首页 > 解决方案 > 在熊猫数据框中查找包含各种类型列表(列表)的重复行

问题描述

背景

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

问题

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

标签: python-3.xpandaslistduplicates

解决方案


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

推荐阅读