gpt4 book ai didi

python - Groupby 返回最大值的整行发生

转载 作者:太空狗 更新时间:2023-10-30 02:29:07 24 4
gpt4 key购买 nike

如何获取groupby结果的整行数据?

df
a b c d e
0 a 25 12 1 20
1 a 15 1 1 1
2 b 12 1 1 1
3 n 25 2 3 3

In [4]: df = pd.read_clipboard()

In [5]: df.groupby('a')['b'].max()
Out[5]:
a
a 25
b 12
n 25
Name: b, dtype: int64

如何获取整行?

a   b   c  d   e
a 25 12 1 20
b 12 1 1 1
n 25 2 3 3

我尝试过滤,但 df[df.e == df.groupby('a')['b'].max()] 但大小不同 :(

原始数据:

0          1       2        3     4        5     6      7       8    9   
EVE00101 Trial DRY RUN PASS 1610071 1610071 Y 20140808 NaN 29

10 11 12 13 14
FF1 ./ff1.sh Event Validation Hive Tables 2015-11-30 9:40:34

Groupby([1,7])[14].max() 给了我结果,但是在分组系列中作为 1 和 7 作为索引我想要相应的列。 15000行数据,提供1行样本

最佳答案

你可以使用 argmax() :

In [287]: df.groupby('a', as_index=False).apply(lambda x: x.loc[x.b.argmax(),])
Out[287]:
a b c d e
0 a 25 12 1 20
1 b 12 1 1 1
2 n 25 2 3 3

即使 b 不是最大的,这种方式也能正常工作。

关于python - Groupby 返回最大值的整行发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34221863/

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