gpt4 book ai didi

python - 从 groupby 中选择具有最高值的行

转载 作者:行者123 更新时间:2023-12-02 06:31:39 25 4
gpt4 key购买 nike

我有一个数据框,其中包含有关用户的一些信息。有一个用户列、类型列和计数列,如下所示:

name         type     count
robert x 123
robert y 456
robert z 5123
charlie x 442123
charlie y 0
charlie z 42

我试图找出哪种类型的每个名称的计数最高,因此对于这种情况,我想选择此:

name         type    count
robert z 5123
charlie x 442123

我知道我可以这样做来获取每个名称的最大计数,但我不确定如何包含“类型”列,这实际上是最重要的

df.sort_values('count', ascending=False).drop_duplicates('name').sort_index()

非常感谢任何帮助!

最佳答案

试试这个

df.loc[df.groupby('name')['count'].idxmax()]['type']

      name type   count
3 charlie x 442123
2 robert z 5123

如果您不仅需要单个最大值,还需要每组的前 n 个值(例如 n = 2)

df.loc[df.groupby('name')['count'].nlargest(2).index.get_level_values(1)]

      name type   count
3 charlie x 442123
5 charlie z 42
2 robert z 5123
1 robert y 456

关于python - 从 groupby 中选择具有最高值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53842287/

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