【问题标题】:How to calculate percentage in groupby in Python如何在 Python 中计算 groupby 中的百分比
【发布时间】:2022-06-23 17:56:30
【问题描述】:

我得到了一个如下所示的数据框:

DATE                  SCHEDULED      ARTICLE_CODE      
2021-10-01            2              001
2021-10-01            2              002
2021-10-01            2              003
2021-11-01            2              001
2021-11-01            2              002
2021-11-01            2              003
2021-11-01            2              004
...

我想要的是获得每个日期的每篇文章代码的预定百分比

我想得到的是:

DATE                  SCHEDULED      ARTICLE_CODE  PERCENTAGE    
2021-10-01            2              001           33.3
2021-10-01            2              002           33.3
2021-10-01            2              003           33.3
2021-11-01            2              001           25
2021-11-01            2              002           25
2021-11-01            2              003           25
2021-11-01            2              004           25
...

我认为使用 groupby 是可行的,但我无法做到

【问题讨论】:

    标签: python pandas pandas-groupby


    【解决方案1】:

    用途:

    df['PERCENTAGE'] = df['DATE'].map(df['DATE'].value_counts()).rdiv(1).mul(100).round(1)
    print (df)
             DATE  SCHEDULED  ARTICLE_CODE  PERCENTAGE
    0  2021-10-01          2             1        33.3
    1  2021-10-01          2             2        33.3
    2  2021-10-01          2             3        33.3
    3  2021-11-01          2             1        25.0
    4  2021-11-01          2             2        25.0
    5  2021-11-01          2             3        25.0
    6  2021-11-01          2             4        25.0
    

    【讨论】:

      猜你喜欢
      • 2017-02-15
      • 2022-11-21
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 2019-09-20
      • 1970-01-01
      • 2020-12-03
      相关资源
      最近更新 更多