如何将字符串(如年龄)转换为列中的单个值



我是PANDAS的新手,我找不到一种方法来转换这样的东西:

0 AGE
1 82 years 03 months 11 days
2 54 years 06 months 10 days
3 23 years 03 months 09 days
4 60 years 02 months 13 days

到此:

0 AGE
1 82
2 54
3 23
4 60

提前感谢

还有一种方法。在这里,我们使用正则表达式提取字符串开头的数字。

df["AGE"] = df["AGE"].str.extract('(^d+)')

输出

0   AGE
0   1   82
1   2   54
2   3   23
3   4   60

剥去字符串(为了以防万一,去掉字符串中的前导空格(,将其拆分,然后取第一项,使其成为整数:

df["AGE"] = df["AGE"].apply(lambda x : int(x.strip().split()[0]))

只应用Timedeltas

df['AGE']=df.AGE.astype('timedelta64[Y]')

最新更新