python replace函数用法_对pandas replace函数的使用方法小结

语法:replace(self, to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None)

使用方法如下:

import numpy as np

import pandas as pd

df = pd.read_csv('emp.csv')

df

20180518145343.jpg

#Series对象值替换

s = df.iloc[2]#获取行索引为2数据

#单值替换

s.replace('?',np.nan)#用np.nan替换?

s.replace({'?':'NA'})#用NA替换?

#多值替换

s.replace(['?',r'$'],[np.nan,'NA'])#列表值替换

s.replace({'?':np.nan,'$':'NA'})#字典映射

#同缺失值填充方法类似

s.replace(['?','$'],method='pad')#向前填充

s.replace(['?','$'],method='ffill')#向前填充

s.replace(['?','$'],method='bfill')#向后填充

#limit参数控制填充次数

s.replace(['?','$'],method='bfill',limit=1)

#DataFrame对象值替换

#单值替换

df.replace('?',np.nan)#用np.nan替换?

df.replace({'?':'NA'})#用NA替换?

#按列指定单值替换

df.replace({'EMPNO':'?'},np.nan)#用np.nan替换EMPNO列中?

df.replace({'EMPNO':'?','ENAME':'.'},np.nan)#用np.nan替换EMPNO列中?和ENAME中.

#多值替换

df.replace(['?','.','$'],[np.nan,'NA','None'])##用np.nan替换?用NA替换. 用None替换$

df.replace({'?':'NA','$':None})#用NA替换? 用None替换$

df.replace({'?','$'},{'NA',None})#用NA替换? 用None替换$

#正则替换

df.replace(r'\?|\.|\$',np.nan,regex=True)#用np.nan替换?或.或$原字符

df.replace([r'\?',r'\$'],np.nan,regex=True)#用np.nan替换?和$

df.replace([r'\?',r'\$'],[np.nan,'NA'],regex=True)#用np.nan替换?用NA替换$符号

df.replace(regex={r'\?':None})

#value参数显示传递

df.replace(regex=[r'\?|\.|\$'],value=np.nan)#用np.nan替换?或.或$原字符

以上这篇对pandas replace函数的使用方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值