Python 数据清洗之缺失数据填充fillna()

缺失数据比较多的情况下,可以直接滤除,缺失数据比较少时,对数据进行填充就很有必要了。

数据填充函数fillna()默认参数如下:

fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
import numpy as np
from numpy import nan
import pandas as pd
data=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
print(data)
data.iloc[0:2,0:3]=nan
print(data)
      0     1     2   3
a   NaN   NaN   NaN   6
b   NaN   NaN   NaN  10
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
print(data.fillna(0))   ### 用0填充缺失数据
      0     1     2   3
a   0.0   0.0   0.0   6
b   0.0   0.0   0.0  10
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
print(data.fillna(data.mean()))     ### 用每列特征的均值填充缺失数据
      0     1     2   3
a  13.0  14.0  15.0   6
b  13.0  14.0  15.0  10
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
print(data.fillna(data.median()))   ### 用每列特征的中位数填充缺失数据
     0     1     2   3
a  13.0  14.0  15.0   6
b  13.0  14.0  15.0  10
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
print(data.fillna(method='bfill'))   ### 用相邻后面(back)特征填充前面空值
      0     1     2   3
a  11.0  12.0  13.0   6
b  11.0  12.0  13.0  10
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
data=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
data.iloc[1:2,:]=nan
print(data)
     0     1     2     3
a   3.0   4.0   5.0   6.0
b   NaN   NaN   NaN   NaN
c  11.0  12.0  13.0  14.0
d  15.0  16.0  17.0  18.0
print(data.fillna(method='bfill'))   ### 用相邻前面(before)特征填充后面空值 
 
      0     1     2     3
a   3.0   4.0   5.0   6.0
b   3.0   4.0   5.0   6.0
c  11.0  12.0  13.0  14.0
d  15.0  16.0  17.0  18.0
values={0:10,1:20,2:30}
print(data.fillna(value=values))   ### 用字典对不同的列填充不同的缺失数据
      0     1     2   3
a  10.0  20.0  30.0   6
b  10.0  20.0  30.0  10
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值