在Pandas中计算月度数据中的cumsum百分比。

问题描述 投票:0回答:1

我有一个 pandas DataFrame,里面有一些商店几年来的每日销售数据,格式如下。

            store  sales    cumulative_monthly_sales    
date
2005-07-01  1       2       2
2005-07-01  2       3       3
2005-07-31  1       8       10
2005-08-01  1       5       5
2005-08-30  1       5       10
...

我想计算一个新的列 sales_progress_pct 即每家店在某一特定日期前实现的月销售额的百分比。在这个例子中,我有一个pandas DataFrame,里面有一些店铺几年来的日销售额数据,格式如下:店铺销售额累计_月_日

            store  sales    cumulative_monthly_sales    sales_progress_pct
date
2005-07-01  1       3       3                           1.00
2005-07-01  2       2       2                           0.20
2005-07-31  2       8       10                          1.00
2005-08-01  1       5       5                           0.50
2005-08-30  1       5       10                          1.00
...
pandas pandas-groupby
1个回答
1
投票

在你的例子中,你可以用 transform

s=df['cumulative_monthly_sales'].groupby([df.index.strftime('%Y-%m'), df.store]).transfomr('max')
df['sales_progress_pct']=df['cumulative_monthly_sales']/s
© www.soinside.com 2019 - 2024. All rights reserved.