语法:replace(self, to_replace=none, value=none, inplace=false, limit=none, regex=false, method='pad', axis=none)
使用方法如下:
1
2
3
4
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#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函数的使用方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/kancy110/article/details/72719340