寻找pd.DataFrame.drop_duplicates()的模拟,其中顺序无关紧要

时间:2018-01-28 11:22:58

标签: python-3.x pandas dataframe data-cleaning drop-duplicates

我想使用类似于删除DataFrame重复项的内容。我希望专栏的顺序无关紧要。我的意思是函数shuold认为由条目'a', 'b'组成的行与由条目'b', 'a'组成的行相同。例如,给定

df = pd.DataFrame([['a', 'b'], ['c', 'd'], ['a', 'b'], ['b', 'a']])

   0  1
0  a  b
1  c  d
2  a  b
3  b  a

我想获得:

   0  1
0  a  b
1  c  d

其中首选项是效率,因为我在groupby操作中的大型数据集上运行它。

1 个答案:

答案 0 :(得分:1)

先调用np.sort,然后删除重复项。

df[:] = np.sort(df.values, axis=1)
df.drop_duplicates()

   0  1
0  a  b
1  c  d