python - 通过另一列 pandas 找到列组的最大值

标签 python pandas group-by max

我有一个包含 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/

相关文章:

python - Python请求中数据和参数的区别

python - python 比例相等的 n 样本检验

python - 带有 Elasticsearch 的 django-haystack 不为​​新创建的对象构建索引

python - python中的缺失值插补

python - 将数据帧转换为 json 文件时出现问题

python - 在 Pandas 中将文本转换为 int64 分类

mysql - 如何对 GROUP BY x DESC 进行查询

python - Pycharm - 语法错误 : Non-UTF-8 code starting with '\x80'

mysql - 按时间段分组仅显示非零总数

mysql sum with group by 不同的列值