如何根据指定年龄范围为数据行分配年龄组并新增列?
为年龄数据分配指定分组的实现方案
下面提供两种主流数据处理场景下的实现方法,匹配你要求的年龄分组规则:
Python(Pandas)实现
使用pd.cut()函数可以快速完成分箱操作,精准匹配你的分组区间:
import pandas as pd # 构造示例数据(替换为你的实际数据集) df = pd.DataFrame({'age': [24, 45, 35, 55, 65, 75, 18, 80]}) # 定义分组边界与对应标签 bins = [18, 30, 40, 50, 60, 70, 81] labels = ['18-29', '30-39', '40-49', '50-59', '60-69', '70-80'] # 新增"age group"列 df['age group'] = pd.cut(df['age'], bins=bins, labels=labels, right=False) # 查看结果 print(df)
说明
right=False设置区间为左闭右开,确保18<=年龄<30对应18-29,70<=年龄<81覆盖到80岁;- 若数据中存在小于18或大于80的异常值,可添加
retbins=True或include_lowest参数进一步处理。
SQL实现
使用CASE WHEN条件语句直接映射分组规则,适用于数据库中的年龄字段:
SELECT age, CASE WHEN age BETWEEN 18 AND 29 THEN '18-29' WHEN age BETWEEN 30 AND 39 THEN '30-39' WHEN age BETWEEN 40 AND 49 THEN '40-49' WHEN age BETWEEN 50 AND 59 THEN '50-59' WHEN age BETWEEN 60 AND 69 THEN '60-69' WHEN age BETWEEN 70 AND 80 THEN '70-80' END AS `age group` FROM your_table;
说明
BETWEEN为闭区间匹配,完全符合你指定的分组范围;- 替换
your_table为你的实际表名即可执行。
内容的提问来源于stack exchange,提问作者grapeporcupine
相关产品推荐
相关产品推荐

