python之怎么使用fillna()填充缺失值
导读:本文共2329.5字符,通常情况下阅读需要8分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 使用fillna()填充缺失值df=pd.read_csv('ccf_offline_stage1_train.csv')print(df['Distance'])df['distance']=df['Distance'].fillna(-1).astype(int)print(df['... ...
目录
(为您整理了一些要点),点击可以直达。使用fillna()填充缺失值
df=pd.read_csv('ccf_offline_stage1_train.csv')print(df['Distance'])df['distance']=df['Distance'].fillna(-1).astype(int)print(df['distance'])
结果太长不展示了,经过操作后成功将dataframe中distance列的缺失值都变成了-1
关于fillna()函数详解
inplace参数的取值:True、False
True
:直接修改原对象False
:创建一个副本,修改副本,原对象不变(缺省默认)
method参数的取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default None
pad
/ffill
:用前一个非缺失值去填充该缺失值backfill
/bfill
:用下一个非缺失值填充该缺失值None
:指定一个值去替换缺失值(缺省默认这种方式)
limit参数:限制填充个数
axis参数:修改填充方向
#导包importpandasaspdimportnumpyasnpfromnumpyimportnanasNaN
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]=NaNdf2.iloc[2:4,4]=NaNdf2
运行结果:
#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)
运行结果:
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
python之怎么使用fillna()填充缺失值的详细内容,希望对您有所帮助,信息来源于网络。