如何用一个值python替换多个值

Jia*_*huo 5 python string replace dataframe pandas

如何'Beer','Alcohol','Beverage','Drink'仅用数据替换数据'Drink'.

df.replace(['Beer','Alcohol','Beverage','Drink'],'Drink')
Run Code Online (Sandbox Code Playgroud)

不起作用

cs9*_*s95 13

几乎拥有它.你需要把字典传递给df.replace.

df

       Col1
0      Beer
1   Alcohol
2  Beverage
3     Drink
Run Code Online (Sandbox Code Playgroud)

x = dict.fromkeys(['Beer','Alcohol','Beverage','Drink'], 'Drink')    
df = df.replace(x)
df

    Col1
0  Drink
1  Drink
2  Drink
3  Drink
Run Code Online (Sandbox Code Playgroud)

这适用于完全匹配和替换.对于部分匹配和子串匹配,请使用

df = df.replace(x, regex=True)
Run Code Online (Sandbox Code Playgroud)

  • 哈!我打算去'df.replace({k:'喝'为['啤酒','酒精','饮料','饮用']中的k)}但是相反,我学会了`dict.fromkeys` (2认同)

Max*_*axU 5

请尝试以下方法:

lst = ['Beer','Alcohol','Beverage','Drink']
pat = r"\b(?:{})\b".format('|'.join(lst))

df = df.replace(pat, 'Drink', regexp=True)
Run Code Online (Sandbox Code Playgroud)