fillna()函数详解

inplace参数的取值:True、False

True:直接修改原对象

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

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

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

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

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

limit参数:限制填充个数

axis参数:修改填充方向

 

#导包
import pandas as pd
import numpy as np
from numpy import nan as NaN
df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
df1

代码结果:

 

一、不指定任何参数

1.  用常数填充

#一、不指定method参数

#1.用常数填充
print (df1.fillna(100))
print ("-----------------------")
print (df1)

运行结果:


2.  用字典填充

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

运行结果:

 

二、指定inplace参数

#二、指定inplace参数

print (df1.fillna(0,inplace=True))
print ("-------------------------")
print (df1)

运行结果:

 

三、指定method参数

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

#三、指定method参数

df2 = pd.DataFrame(np.random.randint(0,10,(5,5)))
df2.iloc[1:4,3] = NaN
df2.iloc[2:4,4] = NaN
df2

运行结果:

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

df2.fillna(method='ffill')

运行结果:

 

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

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

df2.fillna(method='bfill')

运行结果:

 

四、指定limit参数

#四、指定limit参数

#用下一个非缺失值填充该缺失值
#只填充2个

df2.fillna(method='bfill', limit=2)

运行结果: 

 

五、指定axis参数

#五、指定axis参数

df2.fillna(method="ffill", limit=1, axis=1)

运行结果:

 

更多AI资源请关注公众号:大胡子的AI

欢迎各位AI爱好者加入群聊交流学习:882345565(内有大量免费资源哦!)

版权声明:本文为博主原创文章,未经博主允许不得转载。如要转载请与本人联系。

  • 149
    点赞
  • 615
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
fillna是pandas中的一个函数,用于填充DataFrame中的缺失值NaN)。通过指定不同的方法,可以根据不同的需求来进行填充。在引用中的例子中,可以看到fillna函数的使用。具体而言,可以使用指定的方法来填充缺失值,比如使用常数、前向填充或后向填充等。例如,可以使用fillna(0)将缺失值填充为0,使用fillna(method='ffill')使用前向填充方法,使用fillna(method='bfill')使用后向填充方法。这样可以根据实际情况选择合适的填充方法来处理DataFrame中的缺失值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [解决pandas.DataFrame.fillna 填充Nan失败的问题](https://download.csdn.net/download/weixin_38610277/12866285)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【机器学习杂烩篇】pandas fillna()函数详解](https://blog.csdn.net/songyu8713162/article/details/87527410)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [pandas中的 fillna使用(pandas.DataFrame.fillna)](https://blog.csdn.net/conving/article/details/120205513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华科大胡子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值