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

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

08-25 09:12