python - 将 '10yrs 5mon' 分类值转换为月份

标签 python pandas

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

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

预期:

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

最佳答案

使用Series.str.extract将整数转换为新的 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

关于python - 将 '10yrs 5mon' 分类值转换为月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55771383/

相关文章:

python - 连接 DataFrame,但仅保留一列

python - 如何将两个系列逐行追加到数据框中

python - Pandas、scipy 和 numpy 的 MAD 结果不同

python - python 向后累积计数

python - 在 [ :index] 上使用动态索引列出切片

python - 获取未存储在另一个列表中的嵌套列表

python - 如何在谷歌云平台上运行django测试

python - 为 scikit-learn CountVectorizer 提供带有空格的词汇表

python - 查找具有不同标题的行

python - 将表中的唯一值行提取到新的数据框中