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

Pandas使用groupby分组后计算mean均值结果异常如何解决

问题原因

你得到的均值结果异常偏大,核心原因是rt列被识别为字符串(object类型)而非数值类型,分组计算时对字符串做了拼接操作而非数值求和,最终得到了不符合预期的超大值。

解决步骤
  • 第一步:确认rt列的数据类型
    运行以下代码查看列属性:
print(df['rt'].dtype)

如果输出结果为object,即可确认是数据类型问题。

  • 第二步:转换rt列为数值类型并清理脏数据
    使用pd.to_numeric做强制转换,无法转换的异常值会被自动设为NaN,后续求均值时会自动忽略:
import pandas as pd
# 转换rt列类型
df['rt'] = pd.to_numeric(df['rt'], errors='coerce')
# 可选:查看存在多少条异常的rt数据
print(f'异常rt数据条数:{df["rt"].isna().sum()}')
  • 第三步:重新计算分组均值
    运行你原有的分组统计代码即可得到正确结果:
rt_mean = df.groupby(['Person ID', 'emotional_w'])['rt'].mean()
结果验证

用你提供的示例数据完成转换后,计算得到的分组均值如下,和手动计算结果完全一致:

Person ID  emotional_w
0          False          480.0
           True           275.0
1          False         1091.0
           True          3506.5
Name: rt, dtype: float64

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:27:02