Pandas dataframe替换字符串

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值