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)
用describe看一下数据描述
看一下具体数据维度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())
seaborn.boxplot(bank["age"].dropna())
根据箱线图可以发现70岁以上的值都是离群点。
import seaborn
%matplotlib inline
bank_with_true_age = bank[bank["age"]<70]
seaborn.boxplot(bank_with_true_age["age"])
筛选了年龄小于70岁的数据,画图如下
得出一个标准的盒图。
seaborn.distplot(bank_with_true_age["age"])
此时的条形图更加饱满。
对于时间的处理方法
Pandas.to_datatime(bank[date])转换数据类型
自定义时间类型pandas.to_datatime(bank[date],format=”%Y%m%d%H%M%S”)
以上