结合替换熊猫列中的字符串

时间:2019-12-16 10:14:26

标签: python regex 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)什么也没发生

1 个答案:

答案 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