我有一个以下格式的数据框:
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)
什么也没发生
答案 0 :(得分: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