【问题标题】:find the max of column group by another column pandas通过另一列 pandas 找到列组的最大值
【发布时间】:2019-06-15 03:09:59
【问题描述】:

我有一个包含 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”的数据框。有人可以帮忙吗?谢谢

【问题讨论】:

    标签: python pandas group-by max


    【解决方案1】:
    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'})
    

    【讨论】:

      【解决方案2】:

      您可以使用 groupby 和参数 as_index=False

      In [119]: df.groupby(['grpno.'], as_index=False)[['count percent']].max()
      Out[119]: 
         grpno.  count 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
      
      df1 = df.groupby(['grpno.'], as_index=False)[['count percent']].max()
      df1.columns = df1.columns[:-1].tolist() + ['MaxOfcount percent']
      
      In [130]: df1
      Out[130]: 
         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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-07
        • 2022-01-23
        • 2021-07-25
        相关资源
        最近更新 更多