2024-04-19 22:35:07 发布
网友
我有一个数据帧,我想在其中选择
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'中值最大的行
我知道我想使用groupby,但我不知道之后该怎么做。在
groupby
最简单的方法是使用变换函数。这基本上让您对一个组应用一个函数,该组保留与原始数据帧相同的索引。在本例中,您可以看到从转换中得到以下内容
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
它与原始数据帧具有完全相同的索引,因此您可以使用它来创建过滤器。在
有关这方面的更多信息,请参见the pandas groupby documentation,这很好。在
最简单的方法是使用变换函数。这基本上让您对一个组应用一个函数,该组保留与原始数据帧相同的索引。在本例中,您可以看到从转换中得到以下内容
它与原始数据帧具有完全相同的索引,因此您可以使用它来创建过滤器。在
^{pr2}$有关这方面的更多信息,请参见the pandas groupby documentation,这很好。在
相关问题 更多 >
编程相关推荐