python之怎么使用fillna填充缺失值

本篇内容主要讲解“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

代码结果:

python之怎么使用fillna)填充缺失值

一、不指定任何参数

1.  用常数填充

#一、不指定method参数
 
#1.用常数填充
print df1.fillna100))
print "-----------------------")
print df1)

运行结果:

python之怎么使用fillna)填充缺失值

2.  用字典填充

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

运行结果:

python之怎么使用fillna)填充缺失值

二、指定inplace参数

#二、指定inplace参数
 
print df1.fillna0,inplace=True))
print "-------------------------")
print df1)

运行结果:

python之怎么使用fillna)填充缺失值

三、指定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

运行结果:

python之怎么使用fillna)填充缺失值

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

运行结果:

python之怎么使用fillna)填充缺失值

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

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

运行结果:

python之怎么使用fillna)填充缺失值

四、指定limit参数

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

运行结果: 

python之怎么使用fillna)填充缺失值

五、指定axis参数

#五、指定axis参数
 
df2.fillnamethod="ffill", limit=1, axis=1)

运行结果:

python之怎么使用fillna)填充缺失值

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注