通过另一列熊猫找到列组的最大值

Use*_*090 2 python group-by max pandas

我有一个2列的数据框,

count percent  grpno.
0          14.78       1
1           0.00       2
2           8.80       3
3           9.60       4
4          55.90       4
5           0.00       2
6           0.00       6
7           0.00       5
8           6.90       1
9          59.00       4
Run Code Online (Sandbox Code Playgroud)

我需要获取列“ count percent”的最大值,并按列“ grpno”进行分组。虽然我尝试通过

geostat.groupby(['grpno.'], sort=False)['count percent'].max()
Run Code Online (Sandbox Code Playgroud)

我得到的输出是

grpno.
1    14.78
2     0.00
3     8.80
4    59.00
6     0.00
5     0.00
Name: count percent, dtype: float64
Run Code Online (Sandbox Code Playgroud)

但是我需要将输出的数据列的列名修改为“ MaxOfcount percent”和“ grpno”。有人可以帮忙吗?谢谢

Ste*_*fan 5

res = df.groupby('grpno.')['count percent'].max().reset_index()
res.columns = ['grpno.', 'MaxOfcount percent']

   grpno.  MaxOfcount percent
0       1               14.78
1       2                0.00
2       3                8.80
3       4               59.00
4       5                0.00
5       6                0.00
Run Code Online (Sandbox Code Playgroud)

您也可以一行完成:

res = df.groupby('grpno.', as_index=False)['count percent'].max().rename(columns={'count percent': 'MaxOfcount percent'})
Run Code Online (Sandbox Code Playgroud)