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(内有大量免费资源哦!)
版权声明:本文为博主原创文章,未经博主允许不得转载。如要转载请与本人联系。
最新评论