gpt4 book ai didi

python - groupby 并根据另一列的值保留一列的信息

转载 作者:行者123 更新时间:2023-12-03 23:08:36 31 4
gpt4 key购买 nike

我有以下 DataFrame 由列 id、brand 和 count 组成

Id  brand  count
1 Audi 3
2 BWM 5
2 FORD 3
3 AUDI 7
4 BMW 2
5 Audi 4
5 FORD 3

我想对 id 进行分组,并且只保留每个 id 与具有最高计数的品牌。
所以最后我想有以下几点:
id  brand
1 AUDI
2 BMW
3 AUDI
4 BMW
5 AUDI

我有这样的事情,但这显然不起作用。那么实现这一目标的正确函数或语法是什么?谢谢!
data.groupby('id')['brand'].where(max('count'))

最佳答案

IIUC 使用 groupby.idxmax loc :

df.loc[df.groupby('Id')['count'].idxmax()]

[出去]
   Id brand  count
0 1 Audi 3
1 2 BWM 5
3 3 AUDI 7
4 4 BMW 2
5 5 Audi 4

关于python - groupby 并根据另一列的值保留一列的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60601337/

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