pandas drop_duplicates不可用类型:'numpy.ndarray','set'和'list'

时间:2017-10-26 15:32:29

标签: python-3.x pandas dataframe

我尝试在drop_duplicates

的列上使用dataframe
A          len
['1', '2'] 2
['1', '2'] 2
['3']      1
['4', '5'] 2 
['4', '5'] 2

结果dataframe应该看起来像

A          len
['1', '2'] 2
['3']      1
['4', '5'] 2 

我尝试了df.drop_duplicates('A', inplace=True),但收到了错误,

unhashable type: 'numpy.ndarray'

我还使用Adf['A'].apply(list)df['A'].apply(set)转换为列表和集合,然后使用drop_duplicates,但都使用unhashable type: 'set' and 'list'失败。我想知道如何解决这个问题。

1 个答案:

答案 0 :(得分:3)

您需要tuple

df['A'].apply(tuple)

因此duplicated使用boolean indexing

df = df[~df['A'].apply(tuple).duplicated()]
print (df)
        A  len
0  [1, 2]    2
2     [3]    1
3  [4, 5]    2