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

为什么Python pandas的.agg()函数运行后返回True和False两类结果?

结果拆分的原因

你传入groupby()的参数datamart['RFM_Score'] == 9是布尔判断表达式,执行后会生成一个和数据表行数一致的布尔序列:

  • 对应RFM_Score值为9的行,序列值为True
  • 对应RFM_Score值不为9的行,序列值为False
    pandas的groupby会根据传入序列的唯一值做分组,所以会自动拆成True、False两组分别计算MonetaryValue的平均值,最终输出两类结果。

如果你只需要获取RFM_Score=9的用户平均消费额,可使用以下更直接的写法:

# 写法1:筛选后用agg计算
datamart[datamart['RFM_Score'] == 9]['MonetaryValue'].agg(np.mean)

# 写法2:更简化的写法
datamart[datamart['RFM_Score'] == 9]['MonetaryValue'].mean()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 19:36:04