寻找与顺序无关紧要的 pd.DataFrame.drop_duplicates() 的类似物
Looking for an analogue to pd.DataFrame.drop_duplicates() where order does not matter
我想使用类似于删除 DataFrame 重复项的方法。我希望列的顺序无关紧要。我的意思是函数应该认为由条目 '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 操作中的一个巨大数据集上进行的。
先调用np.sort
,然后删除重复项。
df[:] = np.sort(df.values, axis=1)
df.drop_duplicates()
0 1
0 a b
1 c d
我想使用类似于删除 DataFrame 重复项的方法。我希望列的顺序无关紧要。我的意思是函数应该认为由条目 '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 操作中的一个巨大数据集上进行的。
先调用np.sort
,然后删除重复项。
df[:] = np.sort(df.values, axis=1)
df.drop_duplicates()
0 1
0 a b
1 c d