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

yipeiwu_com7年前Python基础

语法: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 

#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函数的使用方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 利用切片从列表中取出一部分使用的方法

我想从列表中取出一部分拿来使用,可以创建切片,指定需要使用的第一个元素和最后一个元素的索引 使用例子,说明切片的使用 #创建一个数字列表,代表我有100页文章,然后进行分页显示 ma...

给Python初学者的一些编程技巧

交换变量   x = 6 y = 5 x, y = y, x print x >>> 5 print y >>> 6 if...

解决python ogr shp字段写入中文乱码的问题

首先,先确认一下你的字段值是不是乱码,如果是,按照以下方法: 我的字段值是来自于一个geojson字符串,我在对它解析时做了如下处理: properties = fea.get("p...

Python的GUI框架PySide的安装配置教程

Python的GUI框架PySide的安装配置教程

(一)说在前面     Python自带了GUI模块Tkinter,只是界面风格有些老旧。另外就是各种GUI框架了。    ...

Centos5.x下升级python到python2.7版本教程

首先到官网下载python2.7.3版本,编译安装 复制代码 代码如下: $wget http://www.python.org/ftp/python/2.7.3/Python-2.7....