将“ 10yrs 5mon”的分类值转换为月


问题内容

将列转换为数值作为预处理

Aging
'10yrs 1mon'
'9yrs 8mon'
'25yrs 5mon'

预期:

'10yrs 1mon'     121
'9yrs 8mon'      116
'25yrs 5mon'     305

问题答案:

Series.str.extract与强制转换为new的整数一起使用,DataFrame并按多个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