我有一个看起来像这样的数据框

A  B  C  D  E
a  b .1 .3 .9
c  d .2 .4 .5
b  a .1 .3 .9
d  c .2 .4 .5


由于第三和第四行与第一和第二行相同,因此我需要将其删除。最终数据帧将如下所示

A  B  C  D  E
a  b .1 .3 .9
c  d .2 .4 .5


df.drop_duplicates仅删除相似的对,而不删除镜像对。有没有一种简单的方法可以在熊猫中实施以删除此类镜像重复项。谢谢!

编辑:
我刚刚尝试了drop_duplicates(subset = ['C','D','E']),它将给出该数据帧的结果。是否还有其他基于“ A”,“ B”的解决方案。

最佳答案

np.sort + drop_duplicates

df.loc[pd.DataFrame(np.sort(df[['A','B']],1),index=df.index).drop_duplicates(keep='first').index]
Out[316]:
   A  B    C    D    E
0  a  b  0.1  0.3  0.9
1  c  d  0.2  0.4  0.5

关于python - Pandas 从数据框中删除镜像对,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48549637/

10-14 19:06
查看更多