文章目录
前言
在一般情况下,我们所收集得到的数据不可能是“完美无暇”的,通常会包含缺失值、异常值等让我们头疼的情况,对于数据挖掘或数据分析,花费时间最长的不是建模方面,反而是在数据清洗阶段。为了保证数据质量以及模型的可靠性,数据清洗就显得尤为重要,本文将重点讲解该如何处理缺失值。
一、什么是缺失值?
缺失值是指在数据集中某些位置或字段缺失数据或信息的情况。在实际的数据收集与记录的过程中,可能由于各种原因导致部分数据缺失。缺失值通常会用“NaN”、“None”或空字符串表示。缺失值一般会对数据分析与建模产生影响,所以需要对缺失值进行处理清洗。
二、缺失值检测
首先随机生成数据,并随机设置缺失值:
import numpy as np
import pandas as pd
import random
np.random.seed(1) #随机种子
data=np.random.rand(80,5)
np.random.seed(11)
m=np.random.choice([True,False],[80,5],(0.05,0.95)) #第一个表示取值,第二个表示个数,第三个表示概率
m[0,2]=False #保持第一行为全数据,即第一行无缺失值
data[m]=np.nan
df= pd.DataFrame(data, columns=