数据挖掘之数据清洗(缺失值,异常值)
下载数据网站:
https://www.kaggle.com/c/airbnb-recruiting-new-user-bookings/data
下载最下面的文件
清洗工具,pandas
清洗内容:日期转换,缺失值处理,异常值处理
数据可视化:seaborn
用pandas
总结:
这是在python中的全部程序
import pandas as pd #载入pandas
import seaborn #载入可视化工具
import matplotlib.pyplot as plt #载入可视化工具path='F:\kaggle\\train_users_2\\train_users_2.csv' #打开文件夹
data=pd.read_csv(path) #用pd.read_csv()读取文件
print(data.head()) #打印data前五行数据
print(data.tail()) #打印data后五行数据
print(data.describe()) #对data特征里面的数据进行一个操作
print(data.sample(20)) #初步查看数据长什么样子
print(data.shape) #打印data的类型
print(data.loc[1:5,['age','gender']]) #打印data中1到5行['age','gender']中的数据
print(data['date_account_created']) #打印某一特征data['date_account_created']=pd.to_datetime(data['date_account_created']) #讲object装换为datetime,可实现两日期相减
print(data.loc[0,'date_account_created']-data.loc[1,'date_account_created']) #两个日期相减
data['timestamp_first_active']=pd.to_datetime(data['timestamp_first_active'],format='%Y%m%d%H%M%S') #时间对应转换
print(data['timestamp_first_active'])plt.show(seaborn.distplot(data['age'].dropna())) #去除空缺的数据并打印
plt.show(seaborn.boxplot(data['age'].dropna())) #去除空缺的数据并打印
data_with_true_age = data[data["age"]<90] #去除年龄大于90的异常值
data_with_true_age = data_with_true_age[data_with_true_age["age"]>10] #去除年龄小于10的异常值plt.show(seaborn.distplot(data_with_true_age["age"]))
plt.show(seaborn.boxplot(data_with_true_age["age"]))
这是在jupyter notebook中的程序
import pandas as pd
path='F:\kaggle\\train_users_2\\train_users_2.csv'
data=pd.read_csv(path)
显示前面五行的数据
data.head()
显示后面五行的数据
data.tail()
data.describe()对文件里面是数据的特征进行处理,比如均值,标准差
data.describe()
#查看’date_account_created’那一维度的信息,需要将object类型转换为时间类型,方便进行时间的相减
data['date_account_created']
利用pd.to_datetime()实现
pd.to_datetime(data['date_account_created'])
#实现两个日期的相减,发现相差了331天
data['date_account_created']=pd.to_datetime(data['date_account_created'])
data.loc[0,'date_account_created']-data.loc[1,'date_account_created'] #两个日期相减
将‘date_first_booking’一栏的时间也转换为标准的时间类型
data['timestamp_first_active']=pd.to_datetime(data['timestamp_first_active'],format='%Y%m%d%H%M%S') #时间对应转换
转换之后的结果
空值处理,关于年龄这一行,我们发现有异常值,有空值,我们先把空值去掉,data[‘age’].dropna() 是空值去掉
用seaborn可视化,画出去掉空值的结果
import seaborn
%matplotlib inline
seaborn.distplot(data['age'].dropna())
用boxplot可发现有异常点,不可能有年龄超过2000岁
seaborn.boxplot(data['age'].dropna())
去掉年龄大于90岁和小于10岁的样本
data_with_true_age = data[data["age"]<90]
data_with_true_age = data_with_true_age[data_with_true_age["age"]>10]
seaborn.distplot(data_with_true_age["age"])
seaborn.boxplot(data_with_true_age["age"])
可以看出大多数年龄都在25~45之间
数据挖掘之数据清洗(缺失值,异常值)相关推荐
- 机器学习之数据预处理——数据清洗(缺失值、异常值和重复值的处理)
机器学习之数据预处理--数据清洗缺失值.异常值和重复值的处理 基础知识 技术点总结 数据列缺失的处理方法 1.丢弃(缺失值处理) 1.生成一份随机数据 2.查看哪些值缺失 3.获得含有NA的列 4.获 ...
- 数据挖掘:数据清洗——异常值处理
数据挖掘:数据清洗--异常值处理 一.离群点是什么? 离群点,是一个数据对象,它显著不同于其他数据对象,与其他数据分布有较为显著的不同.有时也称非离群点为"正常数据",离群点为&q ...
- 数据挖掘:数据清洗——数据噪声处理
数据挖掘:数据清洗--数据噪声处理 一.什么是数据噪声? 数据噪声(Noise):数据集中的干扰数据(对场景描述不准确的数据),即测量变量中的随机误差或方差. 二.噪声数据与离群点的区别 观测量(Me ...
- 数据挖掘:数据清洗——数据不平衡处理
数据挖掘:数据清洗--数据不平衡处理 一.什么是数据不平衡? 不平衡数据集指的是数据集各个类别的样本数目相差巨大,也叫数据倾斜.以二分类问题为例,即正类的样本数量远大于负类的样本数量.严格地讲,任何数 ...
- 数据清洗:异常值识别和处理方法
异常数据识别 异常数据是数据分布的常态,处于特定分布区域之外的数据通常会被定义为异常或"噪音".产生数据"噪音"的原因很多,例如业务运营操作.数据采集问题.数据 ...
- Python数据挖掘:数据探索,数据清洗,异常值处理
来源:天善智能韦玮老师 课堂笔记 作者:Dust 探索性数据分析Exploratory Data Analysis,EDA 数据探索的核心是︰ 1.数据质量分析(跟数据清洗密切联系) 2.数据特征分析 ...
- Python中数据清洗缺失值,重复值和异常值的处理
1 缺失值的处理 1.1 常规缺失值的处理 np.nan,NaN,None,NaT(时间数据类型的缺失值)等 df.isnull() 1.判断每一个df中的数据是否为缺失值,是则返回True,否则返回 ...
- python实现数据清洗(重复值+缺失值+异常值处理)
实现功能: python实现数据清洗,对重复记录.缺失值.异常值进行检测,并对其进行处理. 实现代码: # 导入需要的库 import numpy as np import pandas as pdd ...
- 数据清洗 - 缺失值,异常值,重复值处理
数据清洗 数据清洗的对象就是缺失值,重复值,异常值 一 重复值的处理一般用删除法,但是在业务上有意义的重复值不能删除import numpy as np import pandas as pd imp ...
最新文章
- BCH到底该采用哪种交易排序规则?
- Django学习笔记之Django QuerySet的方法
- cocostuff10k数据集介绍_COCO数据集整理
- 分享懒人张RDLC报表(四)
- systemctl常用命令
- python适合什么样的人群_什么样的人比较适合选择Python开发+人工智能技术?
- 51nod2626-未来常数【树上启发式合并,线段树】
- 聊聊Spring Cloud版本的那些事儿
- python重写和装饰器_python装饰器
- 沉浸式全息本是什么_够炫酷!联想全息教学设备,构建沉浸式教学场景
- SQL 中操作XML类型数据
- 将一张图片修改为合适的像素大小
- 2018-2019-1 20165208 《信息安全系统设计基础》第5周学习总结
- js 判断多个一样的name
- Php区分自然量跟aso量,ASO优化——判断下载量与评论的比例关系
- 【codeforces 760B】Frodo and pillows
- poj2816-红与黑-C语言-递归算法入门
- 联想笔记本的3.5mm耳机孔 没有声音!!!
- S7-1200 PLC 激活系统时钟存储位后,相应的位没有工作?
- 从MySQL数据库中查询某个数据库某个表中字段