python - 如何在字符串中提取单词并放入数组 pandas
问题描述
我正在尝试使用正则表达式来提取字符串的字母部分,并将其放入数组中。例如,
Target_column
ABC1234-332DER
1334-GGH-21WW
GG43--222EER
Desired_output
[ABC, DER]
[GGH,WW]
[GG,EER]
我有一个没有生成我想要的结果的正则表达式代码
df['target_column'] = df['desired_column'].str.extract('([a-zA-Z]+)', expand=True)
这会产生以下输出:
0 ABC1234-332DER ABC
1 1334-GGH-21WW GGH
2 GG43--222EER GG
获取所需列的正确正则表达式语法是什么?
解决方案
您可以使用extractall
,然后取消堆叠值并转换为列表:
df['desired_column'] = (df.Target_column.str.extractall('([a-zA-Z]+)')
.unstack()
.values.tolist())
>>> df
Target_column desired_column
0 ABC1234-332DER [ABC, DER]
1 1334-GGH-21WW [GGH, WW]
2 GG43--222EER [GG, EER]
推荐阅读
- javascript - 对于网络扩展,我如何让用户定义执行代码的 URL 列表?
- python - 在 Python 中使用 selenium 从浏览器下载文件
- javascript - 如何获得使用 firebase 上传的每个文件的进度?
- sass - 使用样式化的组件创建像全局变量、函数、mixin 这样的 SASS
- python - 有谁知道为什么这个 mongo 聚合不起作用?
- angular - 如何在 Angular 中转换时间数据
- flutter - 我如何实现这种类型的底片颤动
- javascript - 如何在反应中处理异步状态更新
- bash - 从 git diff 获取状态
- python-3.x - Python 环境或安装未安装 spyder-kernels 模块或其正确版本