【问题标题】:How to do Pandas Groupby Ratio?Pandas Groupby比率如何做?
【发布时间】:2021-01-13 07:29:38
【问题描述】:

我有以下数据框。

          product   Dates   Times      Sale
level_1             
0        ACN    2020-12-23  09:15:00    25
1        ACN    2020-12-23  09:20:00    30
2        ACN    2020-12-24  09:15:00    50
3        ACN    2020-12-24  09:20:00    45
0        ACN2   2020-12-23  09:15:00    80
1        ACN2   2020-12-23  09:20:00    55
2        ACN2   2020-12-24  09:15:00    20
3        ACN2   2020-12-24  09:20:00    110

我想要所有产品在同一时间与前一天的销售额比率。

12 月 24 日 9 点 15 分对产品 ACN

sale ratio = 50/25=2(这里的 25 是前一天的同一时间)

我想要的是这个。

      product   Dates   Times      Sale  Sale_ratio
level_1             
0        ACN    2020-12-23  09:15:00    25     Nan
1        ACN    2020-12-23  09:20:00    30     Nan
2        ACN    2020-12-24  09:15:00    50      2
3        ACN    2020-12-24  09:20:00    45      1.5
0        ACN2   2020-12-23  09:15:00    80     Nan
1        ACN2   2020-12-23  09:20:00    55     Nan
2        ACN2   2020-12-24  09:15:00    20      0.25
3        ACN2   2020-12-24  09:20:00    110     2

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    让我们试试 groupby,变换 row/rwo.shift()

    df['Sale_ratio']=df.groupby(['product','Times'])['Sale'].transform(lambda x: x/(x.shift()))
    
    
    
             product   Dates     Times  Sale  Sale_ratio
    level_1                                                
    0           ACN  2020-12-23  09:15:00    25         NaN
    1           ACN  2020-12-23  09:20:00    30         NaN
    2           ACN  2020-12-24  09:15:00    50        2.00
    3           ACN  2020-12-24  09:20:00    45        1.50
    0          ACN2  2020-12-23  09:15:00    80         NaN
    1          ACN2  2020-12-23  09:20:00    55         NaN
    2          ACN2  2020-12-24  09:15:00    20        0.25
    3          ACN2  2020-12-24  09:20:00   110        2.00
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 2020-02-07
      • 2022-06-13
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 2020-11-17
      相关资源
      最近更新 更多