python: 数据预处理

佐手、 提交于 2020-03-05 23:27:39

数据预处理包含

  • 数据清洗 Data cleaning
  • 数据集成 Data integration
  • 数据变换 Data transformation
  • 数据规约 Data reduction

一、 数据清洗

数据清洗包括缺失值处理、异常值处理

1. 缺失值处理

  • 删除
  • 填充
    – 固定值
    – 均值,中位数/众数
    – 上下数据
    – 插值函数
    – 最可能的值
DataFrame处理缺失值

数据选自私家车轨迹数据,为了更好的演示例子,我做了相应更改,数据下载请点击

import pandas as pd
quotesdf_nan = pd.read_csv('Trajectories_v1.csv',index_col = 'ID' )#缺失值显示NaN
print(quotesdf_nan.isnull())  #查看是否含缺失值。true表四确实
print(quotesdf_nan.dropna())  #删除缺失值,使用默认参数
# ================================================================
# axis = 0 or 'index',删除含缺失值的行
#        1or 'colums',删除含缺失值的列
# how = 'any', 只要行列中有缺失值就删除
#       'any', 行列中所有值都为 NA,就删除
# ================================================================
#缺失值填充
quotesdf_nan.fillna(quotesdf_nan.mean(),inplace = true) #使用均值填充
quotesdf_nan.fillna(method = 'ffill') #表示该缺失值由上一个非缺失值填,bfill表示用下一个非缺失值

2. 异常值处理

异常值也称为离群点或噪声,观察异常值可通过以下方法:

  1. 简单统计
  2. 绘图
  3. 基于密度、最近邻和聚类的方法

这里我们使用数据统计的方法,descirbe()、boxplot()、3σ\sigma来观察和检测

print(quotesdf_nan.describe())
'''
out:
 Longitude    Latitude
count  497.000000  500.000000
mean   114.106223   22.570587
std      0.020187    0.018158
min    114.060471   22.531698
25%    114.100493   22.553727
50%    114.104498   22.574010
75%    114.121681   22.588729
max    114.167338   22.609384
'''
quotesdf_nan.iloc[:,0:4]
quotesdf_nan.drop('Longitude',axis = 1).boxplot()#绘图

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!