python为什么不删除所有重复项?

时间:2020-05-06 13:22:37

标签: pandas python-3.6 drop-duplicates

这是我的 original data frame

我要删除“ head_x”和“ head_y”列以及“ cost_x”和“ cost_y”列的重复项。

这是我的代码:

df=df.astype(str)

df.drop_duplicates(subset={'head_x','head_y'}, keep=False, inplace=True)

df.drop_duplicates(subset={'cost_x','cost_y'}, keep=False, inplace=True)

print(df)

这是the output dataframe,因为您可以看到第一行在两个子集上都是重复的。那么为什么这行仍然在那里?

我不仅要删除第一行,而且要删除所有重复项。 Tis is another output对于索引/节点6也是重复的。

2 个答案:

答案 0 :(得分:0)

df=df.astype(str)

df = df.drop_duplicates(subset={'head_x','head_y'}, keep=False, inplace=True)

df = df.drop_duplicates(subset={'cost_x','cost_y'}, keep=False, inplace=True)

我认为cost_x应该用head_y替换,以其他方式没有重复

答案 1 :(得分:0)

看看前两行:

background-image

head_x head_y 开始:

    第一行的
  • 2 2
  • 第二行的
  • 2 3

所以这两对不同

然后查看 cost_x cost_y

    第一行的
  • 6 3
  • 第二行的
  • 6 4

所以这两对也不同

结论:考虑到两列,这2行是重复项 子集。