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

数据集age变量分箱求助:使用pd.cut划分青年/成年/老年失败

解决pd.cut划分年龄组的问题

我一眼就瞅到代码里的小疏漏啦,这大概率就是导致运行失败的核心原因,咱们一步步来修正:

1. 修正变量名拼写错误

你把labels写成了lables(少了一个字母e),这会让Python找不到这个变量,直接抛出报错。

2. 确保导入了pandas库

如果还没导入pandas,得先补上这行代码:

import pandas as pd

3. 验证age列的数据类型

要确保train['age']是数值类型(比如int或float),如果是字符串格式,pd.cut会直接报错。可以用下面的代码检查:

print(train['age'].dtype)

如果输出是object类型,得先转成数值格式:

train['age'] = pd.to_numeric(train['age'], errors='coerce')

修正后的完整代码

import pandas as pd

# 假设你的train数据集已经加载完成
bins = [0, 30, 60, 90]
labels = ["young", "adult", "old"]  # 这里修正了拼写错误
train['age_group'] = pd.cut(train['age'], bins=bins, labels=labels, include_lowest=True)

(我把新生成的分组列命名为age_group,这样不会覆盖原来的age列,如果你想直接覆盖原列,改回train['age']就行)

另外补充一句:include_lowest=True会把0这个边界值包含到第一个分组里,也就是年龄为0的样本会被归为"young",这个设置是合理的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:56:10