gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:06:50 33 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/12497402/

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