DC数据清理(pandas、seabron)

格式转换

数据的原始储存形式未必适合Python的数据处理

例如:时间,字符串转其他

缺失数据

每条数据都可能在某些属性值上缺失

怎样应对缺失数据

忽略有缺失数据的记录

直接把值标记成未知

利用平均值、最常出现的值等去填充(有很多复杂的方法。)

异常数据

出现不符合常识的数据(异常挖掘)

处理方式类比缺失数据

数据标准化

US、USA、united states------>美国(USA)

住址范围(经纬度不同,但是同一个城市。)

工具Pandas:主要的数据格式是datafram   Seaborn:数据可视化

实战操作(数据bank)

加载模块,读入数据

import pandas
bank=pandas.read_csv("bank-additional-train.csv")
#查看数据的前三行
bank.head(3)

DC数据清理(pandas、seabron)

用describe看一下数据描述

DC数据清理(pandas、seabron)

看一下具体数据维度bank.shape

输出为(37069,21),可知有37069条数据,21个项目。

bank.loc[1:4,'job']#部分输出
1    admin.
2    admin.
3    admin.
4    admin.
Name: job, dtype: object

对数据中的age进行清洗处理

bank["age"].dropna()#丢掉缺失值na

进行可视化

import seaborn 
%matplotlib inline#这一步只在notebook中是必要的
seaborn.distplot(bank["age"].dropna())

DC数据清理(pandas、seabron)

seaborn.boxplot(bank["age"].dropna())

DC数据清理(pandas、seabron)根据箱线图可以发现70岁以上的值都是离群点。

import seaborn 
%matplotlib inline
bank_with_true_age = bank[bank["age"]<70]
seaborn.boxplot(bank_with_true_age["age"])

筛选了年龄小于70岁的数据,画图如下

DC数据清理(pandas、seabron)得出一个标准的盒图。

seaborn.distplot(bank_with_true_age["age"])

DC数据清理(pandas、seabron)此时的条形图更加饱满。

对于时间的处理方法

Pandas.to_datatime(bank[date])转换数据类型

自定义时间类型pandas.to_datatime(bank[date],format=%Y%m%d%H%M%S)

以上