如何使用熊猫替换所有列中的所有字符串?

bay*_*man 3 python python-3.x pandas

在 Pandas 中,如何&用 '&'替换&amp可能位于字符串中任何位置的所有列?

例如,在列标题中,如果有一个值“&好坏”,我该如何用“好与坏”替换它?

jez*_*ael 7

Use replace with regex=True for substrings replacement:

df = pd.DataFrame({'A': ['Good & bad', 'BB', 'CC', 'DD', 'Good & bad'],
                   'B': range(5),
                   'C': ['Good & bad'] * 5})

print (df)
                A  B               C
0  Good & bad  0  Good & bad
1              BB  1  Good & bad
2              CC  2  Good & bad
3              DD  3  Good & bad
4  Good & bad  4  Good & bad

df = df.replace('&','&', regex=True)
print (df)
            A  B           C
0  Good & bad  0  Good & bad
1          BB  1  Good & bad
2          CC  2  Good & bad
3          DD  3  Good & bad
4  Good & bad  4  Good & bad
Run Code Online (Sandbox Code Playgroud)

If want replace only one column:

df['A'] = df['A'].replace('&','&', regex=True)
print (df)
            A  B               C
0  Good & bad  0  Good & bad
1          BB  1  Good & bad
2          CC  2  Good & bad
3          DD  3  Good & bad
4  Good & bad  4  Good & bad
Run Code Online (Sandbox Code Playgroud)