我有一个包含 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
我需要获得“计数百分比”列的最大值 ' 并按列 'grpno.' 分组。尽管我尝试通过
geostat.groupby(['grpno.'], sort=False)['count percent'].max()
我得到的输出是
grpno.
1 14.78
2 0.00
3 8.80
4 59.00
6 0.00
5 0.00
Name: count percent, dtype: float64
但我需要将输出作为列名称修改为“MaxOfcount percent”和“grpno”的数据框。任何人都可以帮忙吗?谢谢
最佳答案
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
你也可以一行完成:
res = df.groupby('grpno.', as_index=False)['count percent'].max().rename(columns={'count percent': 'MaxOfcount percent'})
关于python - 通过另一列 pandas 找到列组的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34908066/