在pandas库中,可以使用DataFrame对象的replace()方法来替换字符串。这个方法允许通过指定一个要替换的值和一个替换值来替换DataFrame中的元素。
1: 替换单个值
import pandas as pd
df = pd.DataFrame({
'A': ['foo', 'bar', 'baz', 'foo'],
'B': ['one', 'one', 'two', 'three'],
'C': ['small', 'large', 'large', 'small'],
'D': [1, 2, 3, 4]
})
# 替换单个字符串
df_replaced = df.replace('foo', 'new_value')
print(df_replaced)
输出中所有的'foo'字符串都被替换成了'new_value'
A B C D
0 new_value one small 1
1 bar one large 2
2 baz two large 3
3 new_value three small 4
2: 替换多个值
# 替换多个字符串
df_multi_replaced = df.replace({'foo': 'new_foo', 'bar': 'new_bar'})
print(df_multi_replaced)
输出中'foo'被替换成了'new_foo','bar'被替换成了'new_bar'
A B C D
0 new_foo one small 1
1 new_bar one large 2
2 baz two large 3
3 new_foo three small 4
3: 使用正则表达式替换
# 使用正则表达式替换
df_regex_replaced = df.replace(to_replace=r'^ba.', value='new_prefix', regex=True)
print(df_regex_replaced)
输出中正则表达式r'^ba.'匹配以'ba'开头并跟随任意字符的字符串。所有匹配该模式的字符串都将被替换为'new_prefix'
A B C D
0 foo one small 1
1 new_prefix one large 2
2 new_prefix two large 3
3 foo three small 4
注:replace()方法默认会返回一个新的DataFrame,原始DataFrame不会被修改。如果想修改原DataFrame,可以将inplace=True作为replace()方法的参数传入。
df.replace('foo', 'new_value', inplace=True)
本文详细介绍了如何在PandasDataFrame中使用replace()方法进行单个值、多个值以及正则表达式的替换,并提到了默认不修改原数据但可设置inplace=True的情况。
675

被折叠的 条评论
为什么被折叠?



