python - 如何在 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
解决方案
如果您最多要提取 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
推荐阅读
- javascript - Prettier 没有出现在 VS Code 的状态栏上,用于服务器上的缩小文件
- php - nginx:如何服务 /index.php 的子文件夹?
- java - JavaFX - 更改 ListView 的 FocusModel
- python - 计算嵌套列表中特定元素的深度
- node.js - 如何在 Jest 中查看堆栈跟踪/错误原因?
- python-3.6 - 无论我输入什么罗马数字,此代码都会产生“0”作为值。为什么会这样?
- laravel - 如何安装低版本的laravel?
- python - 无法安装 python-pip 模块
- bash - 如何将 perl 命令中的变量用于 bash 脚本
- javascript - 如何选择html元素的兄弟节点?