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

weylhg0b  于 2023-11-15  发布在  其他
关注(0)|答案(4)|浏览(133)

在pandas中,如何将&amp可以在字符串中任何位置的所有列中的&替换为'&'?
例如,在列标题中,如果有一个值“Good & bad”,我如何将其替换为“Good & bad”?

zengzsys

zengzsys1#

使用replaceregex=True替换子字符串:

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

字符串
如果只想替换一列:

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

92dk7w1h

92dk7w1h2#

试试这个
第一个月

m4pnthwp

m4pnthwp3#

试试这个对我也有效

df['A'] = [i.replace('&','&') for i in list(df['A'])]

字符串

ddarikpa

ddarikpa4#

另一种选择:

df['A'] = df['A'].apply(lambda x: x.replace('&', '&'))

字符串
这样做的好处是还支持类型转换。例如,假设df['B']包含'[0]', '[5]', '[10]'等形式的字符串,并且您希望仅保留数值,您可以这样做:

df['B'] = df['B'].apply(lambda x: float(x.replace('[', '').replace(']', '')))

相关问题