如何基于pandas.groupby()。max()中一列的最大值获得整行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何基于pandas.groupby()。max()中一列的最大值获得整行?相关的知识,希望对你有一定的参考价值。

我想指定我需要获得整行的最大值,而不是多行的最大值,在我的示例中,这应该基于'Number'列。如这种方式:

import pandas as pd

data = {
    'Number':[12,55,3,2,88,17],
    'People':['Zack','Zack','Merry','Merry','Cross','Cross'],
    'Random':[353,0.5454,0.5454336,32,-7,4]
}

df = pd.DataFrame (data, columns = ['Number','People','Random'])

print(df,'
')

max_values = df.groupby('People').max()

print(max_values)

这是结果:] >>

   Number People      Random
0      12   Zack  353.000000
1      55   Zack    0.545400
2       3  Merry    0.545434
3       2  Merry   32.000000
4      88  Cross   -7.000000
5      17  Cross    4.000000 

        Number  Random
People                
Cross       88     4.0
Merry        3    32.0
Zack        55   353.0

max_values的预期结果:

        Number  Random
People                
Cross       88    -7.000000
Merry        3    0.545434
Zack        55   353.0

我想指定我需要获得整行的最大值,而不是多行的最大值,在我的示例中,这应该基于'Number'列。例如:import ...

答案

您可以执行以下操作:

另一答案

您可以尝试这样的事情-

以上是关于如何基于pandas.groupby()。max()中一列的最大值获得整行?的主要内容,如果未能解决你的问题,请参考以下文章

Pandas Groupby:同一列上的聚合,但总计基于两个不同的标准/数据框

Python for DF 基于 Excel 和 CSV 的不同结果 pandas Groupby

Pandas groupby agg - 如何获得计数?

如何让 pandas groupby 不偷懒?

如何使用 pandas groupby 聚合、组合数据框

Pandas groupby:如何在使用两列创建 groupby 时以正确的顺序对工作日进行排序?