pandas学习之df.fillna
 
df.fillna主要用来对缺失值进行填充,可以选择填充具体的数字,或者选择临近填充。
 
官方文档
 
 
 DataFrame.fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
 
 
解释
 
构建实例: 
import numpy 
as np
import pandas 
as pd
df 
= pd
.DataFrame
([[np
.nan
,22,23,np
.nan
],[31,np
.nan
,12,34],[np
.nan
,np
.nan
,np
.nan
,23],
[15,17,66,np
.nan
]],columns
=list('ABCD'))
df
	A		B		C		D
0	NaN		
22.0	23.0	NaN
1	31.0	NaN		
12.0	34.0
2	NaN		NaN		NaN		
23.0
3	15.0	17.0	66.0	NaN
 
value:scalar,series,dict,dataframe 填充的值,可以是一个标量,或者字典等 
df
.fillna
(value
=1)
	A		B		C		D
0	1.0		22.0	23.0	1.0
1	31.0	1.0		12.0	34.0
2	1.0		1.0		1.0		23.0
3	15.0	17.0	66.0	1.0
------------------------------------------
df
.fillna
(value
={'A':2,'B':3})
	A		B		C		D
0	2.0		22.0	23.0	NaN
1	31.0	3.0		12.0	34.0
2	2.0		3.0		NaN		
23.0
3	15.0	17.0	66.0	NaN
 
method:{backfill,bfill,pad,ffill,none},default none 填充的方法,backfill和bfill代表填充后侧值,ffill和pad填充空值前侧值 
df
.fillna
(method
='ffill')
	A		B		C		D
0	NaN		
22.0	23.0	NaN
1	31.0	22.0	12.0	34.0
2	31.0	22.0	12.0	23.0
3	15.0	17.0	66.0	23.0
 
axis: 控制行列的参数,用法和其他方法完全相同inplace: 是否将结果赋值给原变量,和其他方法里的用法相同limit:int 或None 向前或后填充的最大数量,必须是大于0的整数 如果指定了method参数,则连续空值值填充前int个 如果未指定method参数,则只填充所在轴上的前int空值 
	A		B		C		D
0	NaN		
22.0	23.0	NaN
1	31.0	NaN		
12.0	34.0
2	NaN		NaN		NaN		
23.0
3	15.0	17.0	66.0	NaN
df
.fillna
(value
=0,axis
=1,limit
=1)
	A		B		C		D
0	0.0		22.0	23.0	0.0
1	31.0	0.0		12.0	34.0
2	NaN		NaN		
0.0		23.0
3	15.0	17.0	66.0	NaN
 
加油