首页 > 解决方案 > 年龄范围到年龄数值(python)

问题描述

我想将年龄范围转换为年龄数值。我使用 def Age(x) & If 语句进行转换,但它不起作用并给出错误的结果。我附上了我所做的步骤和结果的图像。我使用的数据集是 BlackFriday。请帮我澄清错误。谢谢!

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: python

解决方案


鉴于 的结果显示的内容value_counts,这似乎是一个简单str.extract的 a fillnafor age of 55+will do:

df.Age.str.extract(r'(?<=-)(\d+)').fillna(56)

让我们考虑以下示例:

df = pd.DataFrame({'Age':['26-35','36-45', '55+']})

    Age
0  26-35
1  36-45
2    55+

df.Age.str.extract(r'(?<=-)(\d+)').fillna(56).rename(columns={0:'Age'})

   Age
0  35
1  45
2  56

推荐阅读