python - Pandas 从数据帧中删除镜像对

标签 python pandas dataframe

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

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

由于第 3 行和第 4 行与第 1 行和第 2 行相同,因此我需要将它们删除。最终的数据框将如下所示

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

df.drop_duplicates 仅删除相似对,但不删除镜像对。有没有什么简单的方法可以在 pandas 中实现来删除此类镜像重复项。谢谢!

编辑: 我刚刚尝试了 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/

相关文章:

python - 检查python中是否存在多个变量

python - 在 matplotlib 中使用循环变量指定颜色

python - 控制 x 刻度日期值

python - 如何在 pandas python 中将值列转换为分位数?

r - 使用数据框列表的公共(public)列创建数据框 - R

python - 以 epsilon 精度将 Pandas DataFrame 条件转换为负数、零数和正数

python - 匹配直到第一次出现

python - 将 Pandas 列中的数字与日期分开

python - pandas:以排名为中心

python - 如何从嵌套的 json 文件创建 Pandas 数据框?