首页 > 解决方案 > 如何在 pandas DataFrame 中的字符串模式后提取数字并在 python 中创建新功能

问题描述

根据列值创建新特征

例子

Column 


CHPS CHTN 28 GR 1 ITEM

CHPS CHTN 28 GR 1 ITEM

样本输出

Column                         A      B


CHPS CHTN 28 GR 1 ITEM        28          1

CHPS CHTN 28 GR 4 ITEM        28          4

标签: pythonpandasstringdataframere

解决方案


如果您最多要提取 2 个数字,则可以使用简单的单行代码,如下所示:

df.join(df['Column'].str.extract(r'\D*(?P<A>\d+)\D+(?P<B>\d+)'))

在这里,列标签自动从调用中使用的正则表达式的命名捕获组的名称传播str.extract()

结果:

                   Column   A  B
0  CHPS CHTN 28 GR 1 ITEM  28  1
1  CHPS CHTN 28 GR 1 ITEM  28  1


推荐阅读