【机器学习杂烩篇】pandas fillna()函数详解

inplace参数的取值:True、False

True:直接修改原对象

False:创建一个副本,修改副本,原对象不变(缺省默认)

method参数的取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default None

pad/ffill:用前一个非缺失值去填充该缺失值

backfill/bfill:用下一个非缺失值填充该缺失值

None:指定一个值去替换缺失值(缺省默认这种方式)

limit参数:限制填充个数

axis参数:修改填充方向

 


 
 
  1. #导包
  2. import pandas as pd
  3. import numpy as np
  4. from numpy import nan as NaN

 
 
  1. df1=pd.DataFrame([[ 1, 2, 3],[ NaN, NaN, 2],[ NaN, NaN, NaN],[ 8, 8, NaN]])
  2. df1

代码结果:

 

一、不指定任何参数

1.  用常数填充


 
 
  1. #一、不指定method参数
  2. #1.用常数填充
  3. print (df1.fillna( 100))
  4. print ( "-----------------------")
  5. print (df1)

运行结果:


2.  用字典填充


 
 
  1. #2.用字典填充
  2. df1.fillna({ 0: 10, 1: 20, 2: 30})

运行结果:

 

二、指定inplace参数


 
 
  1. #二、指定inplace参数
  2. print (df1.fillna( 0,inplace= True))
  3. print ( "-------------------------")
  4. print (df1)

运行结果:

 

三、指定method参数

1.method = 'ffill'/'pad':用前一个非缺失值去填充该缺失值


 
 
  1. #三、指定method参数
  2. df2 = pd.DataFrame(np.random.randint( 0, 10,( 5, 5)))
  3. df2.iloc[ 1: 4, 3] = NaN
  4. df2.iloc[ 2: 4, 4] = NaN
  5. df2

运行结果:


 
 
  1. #1.method = 'ffill'/ 'pad':用前一个非缺失值去填充该缺失值
  2. df2.fillna(method= 'ffill')

运行结果:

 

2.method = 'bflii'/'backfill':用下一个非缺失值填充该缺失值


 
 
  1. #2.method = 'bflii'/ 'backfill':用下一个非缺失值填充该缺失值
  2. df2.fillna(method= 'bfill')

运行结果:

 

四、指定limit参数


 
 
  1. #四、指定limit参数
  2. #用下一个非缺失值填充该缺失值
  3. #只填充2个
  4. df2.fillna(method= 'bfill', limit=2)

运行结果: 

 

五、指定axis参数


 
 
  1. #五、指定axis参数
  2. df2.fillna(method= "ffill", limit=1, axis=1)

运行结果:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值