组合替换熊猫列中的字符串[重复]
Posted
技术标签:
【中文标题】组合替换熊猫列中的字符串[重复]【英文标题】:Combine replacement of strings in pandas column [duplicate] 【发布时间】:2020-04-08 18:59:23 【问题描述】:我有一个如下形式的数据框:
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)
没有任何反应
【问题讨论】:
【参考方案1】:尝试使用单行字典:
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
【讨论】:
感谢解决方案,相关线程中的其他逻辑对我不起作用,这个正在工作并跳过一些行以上是关于组合替换熊猫列中的字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章