在数据分析的过程中,我们往往花费大量的精力在数据清洗这一步。为什么需要进行数据清洗呢?因为我们拿到手上的数据往往是脏数据,这些数据往往包含着缺失值、异常值、不一致的值以及重复值等问题,必须经过合理的清洗手段才能保证下一步的分析顺利进行。缺失值
data.describe()
len(data)
对比第一行返回的count值(非空)和第二行返回的值进行对比,如果两个值不统一,那么就表示数据集存在缺失值。对于缺失值的处理,我们一般通过合理值填补或者删除的方式进行处理,具体采用哪种方式,需要根据数据集缺失值的分布状况而定。异常值
异常值是明显偏离其余值的观测值。
一方面,我们可以通过普通的计量方式,观测到数据集是否存在异常值。第一种方法是,观察数据集的最大最小值,例如人的年龄,基本分布为0-120岁,如果观测值超过这个范围,基本判定为异常值;第二种方法,如果数据集服从正态分布,则满足3ð原则,即观测值分布在总体均值三个方差外的概率小于等于0.003,即P(|x-μ|>3ð)≤0.003。
另一方面,我们可以通过画图更直观地将异常值标注出来,即箱线图。异常值在箱线图中被定义为偏离于箱线图上下界的观测值(小于QL-1,5QR或者大于QU+1,5QR的值,QL为下四分位数,QU为上四分位数,QR为四分位数间距,即上下四分位数之差)
下面我们来用餐馆数据集进行演示:
第一步:导入所需要的包和数据集
import pandas as pd
import matplotlib.pyplot as plt
<