目录
引言
数据中的缺失值是一个非常棘手的问题,那么数据缺失究竟带来了多少问题?假设有100个样本和20个特征,这些数据都是机器收集回来的,若机器上的某个传感器损坏导致一个特征无效时该怎么办?此时是否扔掉整个数据集?这种情况下,另外19个特征怎么办?它们是否还可用?答案是肯定的。因为有时数据相当昂贵,扔掉和重新获取都是不可取的,所以必须采用一些方法来解决这个问题。
一、可选处理方法
下面给出了一些可选的做法:
(1)使用可用特征的均值来填补缺失值;
(2)使用特征值来填补缺失值,如-1;
(3)忽略有缺失值的样本;
(4)使用相似样本的均值填补缺少值;
(5)使用另外的机器学习算法预测缺失值。
二、Python中Pandas库处理缺失值
1.查看数据缺失值得分布情况
【注】:缺失情况如上
1.1. 统计每列数据缺失值的分布情况
import pandas as pd
data = pd.read_csv("./data.csv")
#统计每列数据缺失值的分布情况
print(data.isnull().sum())
#统计每行数据缺失值的分布情况
#通过指定参数axis=1来实现对每行数据的缺失值进行统计,默认是axis=0表示列。
print(data.isnull().sum(axis=1))
2.删除包含缺失值的数据
处理缺失值最简单的方法就是,将包含缺失值数据的列或者行从数据中删除,但这样会造成数据的浪费。