首页 > 其他 > 详细

数据探索---EDA

时间:2019-07-08 00:28:24      阅读:219      评论:0      收藏:0      [点我收藏+]

一、数据探索

  • 查看数据前5行:dataframe.head()
  • 查看数据的信息,包括每个字段的名称、非空数量、字段的数据类型:data.info()
  • 查看数据的统计概要(count/mean/std/min/25%/50%/75%max):data.describe()
  • 查看dataframe的大小:dataframe.shape

 

二、数据质量分析

 

1.缺失值分析

1.1 查看缺失情况

 

  • dataframe.isnull() 

  元素级别的判断,把对应的所有元素的位置都列出来,元素为空或者NA就显示True,否则就是False

  • dataframe.isnull().any()

  列级别的判断,只要该列有为空或者NA的元素,就为True,否则False

  • missing = dataframe.columns[ dataframe.isnull().any() ].tolist()  

  将为空或者NA的列找出来

  • dataframe [ missing ].isnull().sum()

  将列中为空或者NA的个数统计出来

  • len(data["feature"] [ pd.isnull(data["feature"]) ]) / len(data))

  缺失值比例

1.2 缺失值处理方式

  • 缺失值少:插补(均值插补、中位数插补、众数插补、固定值插补、最近数据插补、回归插补、拉格朗日插值、牛顿插值法、分段插值、用预测值填充 等)
    • dataframe.loc dataframe column .isnull(),column value   将某一列column中缺失元素的值,用value值进行填充。
    • data.Age.fillna(data.Age.mean(),inplace=True)  将age列缺失值填充均值
    • dataframe [age] [ dataframe.age.isnull() ] = dataframe.age.dropna().mode().values    #众数填补 , mode()函数就是取出现次数最多的元素。
    • dataframe [‘age‘].fillna(method=‘pad‘)  #使用前一个数值替代空值或者NA,就是NA前面最近的非空数值替换   
    • dataframe [‘age‘].fillna(method=‘bfill‘,limit=1) #使用后一个数值替代空值或者NA,limit=1就是限制如果几个连续的空值,只能最近的一个空值可以被填充。
    • df.interpolate():对于时间序列的缺失,可以使用这种方法。
    • import lightgbm as lgb :采用lgb来预测缺失值填补
  • 缺失值多:不处理,不使用该类型数据
    • new_drop = dataframe.dropna ( axis=0,subset=["Age","Sex"] ) 【在子集中有缺失值,按行删除】
    • new_drop = dataframe.dropna ( axis=1)  【将dataframe中含有缺失值的所有列删除】
  • 缺失值适中:将缺失当做新的一类,如one-hot来处理

 

2.异常值分析

2.1查看异常情况

先画数据的散点图。观察偏差过大的数据,是否为异常值;

或者画箱型图,箱型图识别异常值比较客观,因为它是根据3σ原则,如果数据服从正态分布,若超过平均值的3倍标准差的值被视为异常值。

2.2 异常值处理方式

视为缺失值、删除、修补(平均数、中位数等)、不处理。

中位数比平均值插值好一点,因为受异常值影响较小。

 

3.一致性分析

 

 

4.重复数据或含有特殊符号的数据分析

 

 

 

三、数据特征分析

1.分布

2.对比

3.周期性

4.相关性

5.常见统计量等

 

 

 

 

参考文献:

【1】Python数据分析2------数据探索

 

数据探索---EDA

原文:https://www.cnblogs.com/nxf-rabbit75/p/11148932.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!