You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中pandas按两列分组计算均值结果与预期不符如何解决

你当前代码输出为长格式的分组聚合结果,要得到行是member_casual、列是星期维度、值为Difference均值的宽表,可参考以下两种修改方式:

方案1:基于现有逻辑调整

在原有分组聚合后调用unstack()方法,将Week_day从行索引转为列名即可:

grp_df2 = clean_df.filter(['member_casual','Difference','Week_day'])    
result = grp_df2.groupby(['member_casual','Week_day']).Difference.mean().unstack().reset_index()

如果需要固定星期列的显示顺序,可额外补充列重排逻辑:

# 可根据实际需要调整星期顺序
week_order = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
result = result[['member_casual'] + week_order]

方案2:用透视表一步生成

用pandas透视表方法可以直接输出目标结构,逻辑更清晰:

import pandas as pd

result = pd.pivot_table(
    clean_df,
    index='member_casual',
    columns='Week_day',
    values='Difference',
    aggfunc='mean'
).reset_index()

内容的提问来源于stack exchange,提问作者Mohamed Ashraf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:45:05