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. 异常值处理
异常值也称为离群点或噪声,观察异常值可通过以下方法:
- 简单统计
- 绘图
- 基于密度、最近邻和聚类的方法
这里我们使用数据统计的方法,descirbe()、boxplot()、3来观察和检测
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()#绘图
下一篇: 蚕蛹有毒吗,这些蚕蛹当中是有毒的