欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python: 数据预处理

程序员文章站 2022-04-14 16:44:10
...

数据预处理包含

  • 数据清洗 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()#绘图

python: 数据预处理

相关标签: Python