设置-2 +5年的日期范围,例如31年->(29-36)年
我的输入是
age
0 31 years
1 25 years
我的输出是
age age_range
0 31 years 29-36 years
1 25 years 23-30 years
答案 0 :(得分:2)
先输入extract
个数字值,然后再加上加号2
和减号5
:
s = df['age'].str.extract('(\d+)', expand=False).astype(int)
df['age_range'] = s.sub(2).astype(str) + '-' + s.add(5).astype(str) + ' years'
另一种解决方案,感谢@IMCoins的建议:
#python 3.6+
df['age_range'] = [f'{x-2}-{x + 5} years' for x in s]
#python bellow
#df['age_range'] = ['{}-{} years'.format(x-2, x+5) for x in s]
print (df)
age age_range
0 31 years 29-36 years
1 25 years 23-30 years
如果需要常规范围,请使用binning。