【发布时间】:2018-06-22 04:13:53
【问题描述】:
我有一个这样的数据框:
source target weight
1 2 5
2 1 5
1 2 5
1 2 7
3 1 6
1 1 6
1 3 6
我的目标是删除重复的行,但源列和目标列的顺序并不重要。事实上,两列的顺序并不重要,它们应该被删除。在这种情况下,预期的结果是
source target weight
1 2 5
1 2 7
3 1 6
1 1 6
没有循环有什么办法吗?
【问题讨论】:
-
@VenkataGogu 这不是那个问题的重复。试试
df = pd.DataFrame({'a': [1, 2, 3], 'b': [2, 1, 1], 'c': [1, 3, 2]})和df = df.drop_duplicates(subset=['a', 'b'], keep=False)。所有 3 行仍然存在。题名具体,数据清晰; OP 希望删除重复值,其中值可以出现在列的子集中,但它们出现在哪一列并不重要 -
实际上我想不出一种优雅的方式来做到这一点,而不会随着列数的增加而失控。好问题。
-
其实重量(第三列)的值很重要。
-
你刚刚更新了你的预期结果,你能解释一下发生了什么变化吗?