首页 > 解决方案 > 如何根据删除熊猫数据框中最大的第三列的两列来删除重复项?

问题描述

假设我有一个这样的熊猫数据框:

df=
A  B  6  2
A  C  4  2
D  F  9  3
K  L  8  9
A  B  4  3
D  F  8  2

我怎么能说,如果列 A 和 B 有重复项删除具有最大列 C 的那些?

例如,我们可以看到第 1 行和第 5 行具有相同的 A 列和 B 列。

A  B  6  2 (Line 1)
A  B  4  3 (Line 5)

我想删除第 1 行,因为 6 大于 4。

所以我的输出应该是

A  C  4  2
K  L  8  9
A  B  4  3
D  F  8  2

标签: pythonpython-3.xpandas

解决方案


尝试按降序对列进行排序,您需要使用它来查找最大值 pd.sort_values

然后 drop_duplicates 使用pd.drop_duplicate

df.sort_values(by=['C'],ascending=[True],inplace=True)
df.drop_duplicates(subset=['A','B'],inplace=True)

推荐阅读