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

如何在Pandas DataFrame中高效处理缺失值并按年龄分箱计算Score均值?

基于年龄分箱计算Score均值的方法

以下是具体实现步骤:

  • 定义分箱规则:根据需求的分箱标签,设置对应的年龄区间边界,确保每个年龄值能准确映射到目标分箱。
  • 添加分箱列:使用pandas.cut()函数将Age列转换为对应的分箱标签列。
  • 分组计算均值:按分箱列分组后,调用mean()计算每组的Score平均值(自动忽略Score列的缺失值)。

完整代码示例

import pandas as pd

# 示例DataFrame(已有则跳过此步)
data = {
    'ID': [1,2,3,4,5],
    'Age': [25,30,22,27,21],
    'Gender': ['Male', 'Female', pd.NA, 'Male', 'Female'],
    'Score': [85.0,90.0,78.0,pd.NA,80.0]
}
df = pd.DataFrame(data)

# 定义分箱区间和对应标签
bins = [0, 21, 26, 31, 41, float('inf')]
labels = ['0-20', '21-25', '26-30', '31-40', '41+']

# 生成年龄分箱列
df['Age_Bin'] = pd.cut(df['Age'], bins=bins, labels=labels, right=False)

# 计算各分箱的Score均值
score_mean_by_bin = df.groupby('Age_Bin')['Score'].mean()

print(score_mean_by_bin)

输出结果

Age_Bin
0-20      NaN
21-25    81.0
26-30    90.0
31-40     NaN
41+       NaN
Name: Score, dtype: float64

关键说明

  • pd.cut()的right=False参数设置为左闭右开区间,确保21归入21-25分箱、26归入26-30分箱,与标签完全匹配。
  • 分组计算均值时,Pandas会自动排除Score列中的缺失值(NaN),不影响结果准确性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 02:32:21