python - 从熊猫数据框中提取具有所需前缀的句子中的最后一个单词
问题描述
我想提取以提取的所需前缀开头的字符串的最后一次出现(在本例中为芒果)并放入新列。在 python 中执行此操作的最快方法是什么。我提供一个小例子如下
pd.DataFrame({"input_col": ["mango_1 apple_10 mango9 grape7","apple_10 mango8 grape7", "mango_1 mango2"],
"desired_col": ["mango9","mango8","mango2"]
})
input_col desired_col
0 mango_1 apple_10 mango9 grape7 mango9
1 apple_10 mango8 grape7 mango8
2 mango_1 mango2 mango2
解决方案
您可以str.findall
再次使用字符串访问器来索引最后一个匹配项:
df['desired_col'] = df.input_col.str.findall(r'mango_*\d+').str[-1]
print(df)
input_col desired_col
0 mango_1 apple_10 mango9 grape7 mango9
1 apple_10 mango8 grape7 mango8
2 mango_1 mango2 mango2
推荐阅读
- python - 为什么 Python 中的这个 Rabin-Karp 代码这么慢?
- python-3.x - Lamnda Python 3.8 GPG解密找不到gpg二进制
- c# - 新鲜的 .net web api 解决方案为 WeatherForecastController 返回 401
- python - 与 python os.chdir 的本地目录相比,基于网络的目录存在问题
- go - 如何使用 govmomi 客户端 API 获取 vCenter 版本?
- javascript - ES6 循环依赖。实现依赖中心
- json - 如何删除 JSON 中的多个根元素?
- c# - 单击 DataGridView 标题时如何禁用上下文菜单
- php - PHPUnit assertDatabaseHas 与 Laravel 和 Inertia
- javascript - 未定义的弹出窗口:声明了“案例”,但它的值永远不会被读取。ts(6133)