python - Pandas 根据 2 列删除重复项,有时会颠倒

标签 python pandas

我有一个看起来像的DF

    c1    c2    c3
1   A     B     x
2   A     C     y
3   B     A     x
4   B     D     z
5   A     B     y

如您所见,如果我们忽略 c1c2 是不同的列(或者如果它们反转),则会重复第 1 行和第 3 行。但是,第 5 行不是。如何根据 c1c2 列删除行,而不考虑重复值在哪里?

提前致谢

最佳答案

好的,让我们尝试一些新的 frozenset,将您的列排序到排序的 tuple 中,然后使用 duplicated

df[~df[['c1','c2']].apply(frozenset,axis=1).duplicated()]
Out[666]: 
  c1 c2 c3
1  A  B  x
2  A  C  y
4  B  D  z

关于python - Pandas 根据 2 列删除重复项,有时会颠倒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55425324/

相关文章:

python - 如何将数据框中的字符串更改为日期时间值?

python - Pandas:更新第二个数据帧的列值

python - 在同一 pandas 数据框中交换两行(连同索引)

python - 在 pandas load_csv 中使用 dtype 和转换器强制将 int32 作为 dtype 而不是 int64

python - Qt - pyside - saveGeometry() saveState()

python - OpenCV 分割轮廓

python - 如何定期更改 tkinter 图像?

python - 数据框转换

python - 如何在Python中将两列数组保存在文件中

python - [ python ] : confused by super()