【问题标题】:how to make summary using python groupby. able to find sum and count unable to do > and <如何使用 python groupby 进行总结。能够找到 sum 和 count 不能做 > 和 <
【发布时间】:2021-09-20 16:47:34
【问题描述】:

我的输入是

Circle  |Link   |Utilization
-----------------------------
Delhi   del51-del63 15.11
Delhi   del51-del63 17
Delhi   del51-del63 34.82285714
Delhi   del51-del63 34.82285714
Mumbai  mum1012-mum233  42
Mumbai  mum412-mum2121  42.15
Mumbai  mum1012-mum245  58.82285714
Mumbai  mum10-mum2121   77.52
Delhi   del51-del61 81
Delhi   del51-del62 88
Mumbai  mum1012-mum2121 95

请帮忙,因为我无法使用 groupby 进行总结。

我的输出总结如下

Circle  |Link_count |<50    |>=50 & <80 |>=80
---------------------------------------
Delhi   6   4   0   2
-------------------------
Mumbai  5   2   2   1
--------------------------

【问题讨论】:

    标签: python pandas pandas-groupby


    【解决方案1】:

    groupby,使用pd.cut 组成组,得到组大小。 right=False 获得您想要的分组关闭。然后你可以在groupby 后面加上总和。您可以简单地分配,或者如果位置很重要,请使用insert

    import pandas as pd
    import numpy as np
    
    s = pd.cut(df['Utilization'], [-np.inf, 50, 80, np.inf], right=False,
               labels=['<50', '>=50 & <80', '>=80'])
    
    output = df.groupby(['Circle', s]).size().unstack(-1).rename_axis(columns=None)
    output.insert(0, 'Link_count', output.sum(axis=1))
    

    print(output)
    
            Link_count  <50  >=50 & <80  >=80
    Circle                                   
    Delhi            6    4           0     2
    Mumbai           5    2           2     1
    

    【讨论】:

    • 输出语法后出现此错误
    • @SudarshanWaman 什么错误?
    • TypeError: 'fill_value=Link_count' 不在此分类的类别中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    相关资源
    最近更新 更多