Python 数据清洗之缺失数据填充函数 fillna() 及缺失值处理

引入

在实际的项目中,当缺失数据比较多的情况下,可以直接滤除;而当缺失数据比较少时,需要对数据进行填充。

栗子

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()))    # 用每列特征的均值填充缺失数据
print(data.fillna(data.median()))  # 用每列特征的中位数填充缺失数据
print(data.fillna(method='bfill')) # 用相邻后面(back)特征填充前面空值

values={0:10,1:20,2:30}
print(data.fillna(value=values))   # 用字典对不同的列填充不同的缺失数据
...

拓展: pandas 处理缺失值[dropna、drop、fillna]

dropna: 去掉含有缺失值的样本(行)
drop:将含有缺失值的列(特征向量)去掉
fillna:将缺失值用某些值填充(0,平均值,中值等)

相关优秀博客:

[1]. Python 数据清洗之缺失数据填充fillna
[2]. pandas 处理缺失值[dropna、drop、fillna]

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值