[英]python iterate / loop over two columns and drop entire row after value is first found in either column a or column b
我有一个包含 15 列的数据框用于计算分数。 两列 (a & b) 是我的自变量,其中 a & b 都有重复值。 C 列表示正在计算的分数 - 我已经按 C 列降序对数据框进行了排序。 目标是保留 a 和 b 列的最高得分组合,然后删除任何列。
A栏 | B栏 | C栏 |
---|---|---|
5 | 10 | 1.5 |
5 | 12 | 1.4 |
10 | 12 | 1.0 |
7 | 14 | 0.9 |
7 | 9 | 0.8 |
12 | 6 | 0.7 |
14 | 4 | 0.6 |
在上面的例子中,我希望第二列、第三列、第五列、第六列和第七列都被删除。 第六列和第七列将被删除,因为 12 和 14 已经包含在 b 列上方的行中。
res = df[~(df["Column A"].duplicated() | df["Column B"].duplicated())]
print(res)
输出
Column A Column B Column C
0 5 10 1.5
3 7 14 0.9
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.