如何在DataFrame中按指定条件求和 实现按月份和门店分组统计购买量
解决方法
你当前的代码仅按月份维度做了分组求和,要拆分出各门店的月度统计结果,只需把门店字段也加入分组维度,再将门店维度展开为列即可。
前提假设
你的原始DataFrame中存在存储门店标识的列,示例中统一使用列名Store,你可以替换为自己实际的列名。
完整实现代码
# 1. 按月份+门店双维度分组求和,再将门店维度转换为列表头 df_result = df.groupby(['Month_Bought', 'Store'])['Amount_Bought'].sum().unstack() # 可选操作:如果需要过滤指定门店(比如仅保留Store1、Store2) # df_result = df_result[['Store1', 'Store2']] # 可选操作:如果存在某门店某月无购买记录的情况,将空值替换为0 # df_result = df_result.fillna(0) print(df_result)
附加筛选逻辑(按需使用)
如果需要限定统计的月份范围,可提前对数据做过滤,示例:
# 仅统计2020年的月度数据 df = df[df['Month_Bought'].str.endswith('2020')]
如果需要限定统计的门店范围,可提前对数据做过滤,示例:
# 仅统计Store1、Store2两个门店的数据 df = df[df['Store'].isin(['Store1', 'Store2'])]
内容的提问来源于stack exchange,提问作者Vin Bono
相关产品推荐
相关产品推荐

