导入库不用多解释了吧
import pandas as pd
import numpy as np
data = pd.read_csv('./data.csv')
一、了解数据状况
- 先看看数据长啥样(取样)
data.sample(5)
- 看看数据中是否包含缺失值
data.isnull().sum() //统计每列缺失值的总数
- 缺失值的占比决定了我们使用什么方式去处理它们,所以接下来需要计算一下占比
percent = data.isnull().sum().sum()/np.product(data.shape)
二、找到数据缺失的原因
- 确实不存在的数据:对此我们需要仔细阅读字段说明的文档(比方说有的字段为空时是有特定含义的)
- 存在却没有被记录的数据:对此我们需要重点去探索这类数据与其他行和列数据的关系
缺失的原因非1即2,判断后根据对应的方法找出规律
三、处理缺失的数据
- 移除包含缺失值的列
data.dropna(axis=1)
- 自动填充缺失数据
data.fillna(0) //直接填充0
data.fillna(method="bfill",axis=0).fillna(0) //优先填充后一行的数据,其次是填充0
关于其他的处理方法,笔者没有过多说明。
小杨在网上看到一篇文章专门讲处理的方法,在此记录《数据分析中的缺失值处理》