本篇内容主要讲解“python之怎么使用fillna)填充缺失值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python之怎么使用fillna)填充缺失值”吧!
使用fillna)填充缺失值
df = pd.read_csv'ccf_offline_stage1_train.csv') printdf['Distance']) df['distance'] = df['Distance'].fillna-1).astypeint) printdf['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参数:修改填充方向
#导包 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.fillna100)) print "-----------------------") print df1)
运行结果:
2. 用字典填充
#2.用字典填充 df1.fillna{0:10,1:20,2:30})
运行结果:
二、指定inplace参数
#二、指定inplace参数 print df1.fillna0,inplace=True)) print "-------------------------") print df1)
运行结果:
三、指定method参数
1.method = 'ffill'/'pad':用前一个非缺失值去填充该缺失值
#三、指定method参数 df2 = pd.DataFramenp.random.randint0,10,5,5))) df2.iloc[1:4,3] = NaN df2.iloc[2:4,4] = NaN df2
运行结果:
#1.method = 'ffill'/'pad':用前一个非缺失值去填充该缺失值 df2.fillnamethod='ffill')
运行结果:
2.method = 'bflii'/'backfill':用下一个非缺失值填充该缺失值
#2.method = 'bflii'/'backfill':用下一个非缺失值填充该缺失值 df2.fillnamethod='bfill')
运行结果:
四、指定limit参数
#四、指定limit参数 #用下一个非缺失值填充该缺失值 #只填充2个 df2.fillnamethod='bfill', limit=2)
运行结果:
五、指定axis参数
#五、指定axis参数 df2.fillnamethod="ffill", limit=1, axis=1)
运行结果: