python - 组合替换 pandas 列中的字符串
问题描述
我有以下形式的数据框:
df
Text
Apple
Banana
Ananas
...
我想替换几个字符串,但其中一些字符串之后会有相同的输出。所以现在我正在使用:
df['Text'] = df['Text'].replace('Apple', 'Germany', regex=True)
df['Text'] = df['Text'].replace('Banana', 'South America', regex=True)
df['Text'] = df['Text'].replace('Ananas', 'South America', regex=True)
这导致了预期的结果:
df
Text
Germany
South America
South America
...
但是命令行变得有些混乱,有没有更聪明的方法呢?就像是:df['Text'] = df['Text'].replace('Ananas' or 'Banana', 'South America', regex=True)
如果我尝试,这个逻辑:Regex match one of two words
df['Text'] = df['Text'].replace(/^(Ananas|Banana)$/', 'South America', regex=True)
什么都没发生
解决方案
尝试使用带字典的单行:
df['Text'] = df['Text'].replace({'Apple': 'Germany', 'Banana': 'South America', 'Ananas': 'South America'}, regex=True)
现在:
print(df)
是:
Text
0 Germany
1 South America
2 South America
推荐阅读
- c++ - 如何将 cuda 驱动程序 api 与 cuda 运行时 api 混合使用?
- java - 未应用跨其他项目的 Spring aop 切入点表达式
- memory - 架构 32 位
- python - 将向量重塑为张量以在 keras LSTM 小批量训练中嵌入层
- node.js - 如何访问节点包中的窗口
- ajax - Laravel 资源控制器销毁给我的 Ajax 错误
- c++ - 是否可以断言指针指向数组?
- json - 无键容器的 JSON 数组(快速解析)
- java - 从 WizardsPage1 导航到 2 到 next 时,如果单击进度条取消按钮,如何强制用户保持在同一页面上?
- python - 使用 pub_date_pretty 遇到属性错误问题