如何计算平均月度销售总额?Pandas技术求助
计算平均月度销售总额的正确方法
你当前的代码用mean()得到的是每个月内单条销售数据的平均值,这和你要的「所有月份的月度销售总额的平均值」不是一回事。要实现需求,需要分两步走:
- 先按月份分组,计算每个月的销售总额
- 再对所有月份的总额求平均值
对应的代码可以这样写:
分步实现
# 第一步:计算每个月的销售总额 monthly_sales_totals = df.groupby(pd.PeriodIndex(df['Date'], freq="M"))['sales'].sum() # 第二步:计算所有月度总额的平均值 avg_monthly_total = monthly_sales_totals.mean()
合并成一行代码
如果想简化,也可以把两步合并:
avg_monthly_total = df.groupby(pd.PeriodIndex(df['Date'], freq="M"))['sales'].sum().mean()
这样得到的avg_monthly_total就是你需要的所有月份的平均月度销售总额了。
内容的提问来源于stack exchange,提问作者John Shecut
相关产品推荐
相关产品推荐

