gpt4 book ai didi

python - 按 A 列删除重复项,保留 B 列中具有最高值的行

转载 作者:太空宇宙 更新时间:2023-11-03 21:27:35 25 4
gpt4 key购买 nike

我的数据框在 A 列中包含重复值。我想删除重复项,保留 B 列中具有最高值的行。

所以这个:

A B
1 10
1 20
2 30
2 40
3 10

应该变成这样:

A B
1 20
2 40
3 10

我猜测可能有一种简单的方法可以做到这一点 - 也许就像在删除重复项之前对 DataFrame 进行排序一样简单 - 但我不太了解 groupby 的内部逻辑,无法弄清楚它。有什么建议吗?

最佳答案

这是最后一个。但不是最大值:

In [10]: df.drop_duplicates(subset='A', keep="last")
Out[10]:
A B
1 1 20
3 2 40
4 3 10

您还可以执行以下操作:

In [12]: df.groupby('A', group_keys=False).apply(lambda x: x.loc[x.B.idxmax()])
Out[12]:
A B
A
1 1 20
2 2 40
3 3 10

关于python - 按 A 列删除重复项,保留 B 列中具有最高值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53750558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com