将列转换为数字作为预处理
Aging
'10yrs 1mon'
'9yrs 8mon'
'25yrs 5mon'
预期:
'10yrs 1mon' 121
'9yrs 8mon' 116
'25yrs 5mon' 305
最佳答案
将Series.str.extract
与casting to integers一起使用到newDataFrame
,并首先将新列添加多个12
,然后添加第二列:
import pandas as pd
df1 = df['Aging'].str.extract('(\d+)yrs\s+(\d+)mon').astype(int)
df['new'] = df1[0] * 12 + df1[1]
print (df)
Aging new
0 '10yrs 1mon' 121
1 '9yrs 8mon' 116
2 '25yrs 5mon' 305