如何从列中选择DataFrame中具有最大值的行

2024-04-19 22:35:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,我想在其中选择

df =  A  B C D
     'a' 1 1 1
     'b' 1 2 1
     'c' 1 1 1
     'a' 1 2 2
     'a' 2 2 2
     'b' 1 2 2

我想得到一列中的值是该组的最大值的行。对于上面的例子,如果我想分组为'A'和'B',并得到'C'中值最大的行

^{pr2}$

我知道我想使用groupby,但我不知道之后该怎么做。在


Tags: 数据df例子groupbypr2
1条回答
网友
1楼 · 发布于 2024-04-19 22:35:07

最简单的方法是使用变换函数。这基本上让您对一个组应用一个函数,该组保留与原始数据帧相同的索引。在本例中,您可以看到从转换中得到以下内容

In [13]: df.groupby(['A', 'B'])['C'].transform(max)
Out[13]: 
0    2
1    2
2    1
3    2
4    2
5    2
Name: C, dtype: int64

它与原始数据帧具有完全相同的索引,因此您可以使用它来创建过滤器。在

^{pr2}$

有关这方面的更多信息,请参见the pandas groupby documentation,这很好。在

相关问题 更多 >