下载数据网站:
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.丢弃(缺失值处理) 1.生成一份随机数据 2.查看哪些值缺失 3.获得含有NA的列 4.获 ...

  2. 数据挖掘:数据清洗——异常值处理

    数据挖掘:数据清洗--异常值处理 一.离群点是什么? 离群点,是一个数据对象,它显著不同于其他数据对象,与其他数据分布有较为显著的不同.有时也称非离群点为"正常数据",离群点为&q ...

  3. 数据挖掘:数据清洗——数据噪声处理

    数据挖掘:数据清洗--数据噪声处理 一.什么是数据噪声? 数据噪声(Noise):数据集中的干扰数据(对场景描述不准确的数据),即测量变量中的随机误差或方差. 二.噪声数据与离群点的区别 观测量(Me ...

  4. 数据挖掘:数据清洗——数据不平衡处理

    数据挖掘:数据清洗--数据不平衡处理 一.什么是数据不平衡? 不平衡数据集指的是数据集各个类别的样本数目相差巨大,也叫数据倾斜.以二分类问题为例,即正类的样本数量远大于负类的样本数量.严格地讲,任何数 ...

  5. 数据清洗:异常值识别和处理方法

    异常数据识别 异常数据是数据分布的常态,处于特定分布区域之外的数据通常会被定义为异常或"噪音".产生数据"噪音"的原因很多,例如业务运营操作.数据采集问题.数据 ...

  6. Python数据挖掘:数据探索,数据清洗,异常值处理

    来源:天善智能韦玮老师 课堂笔记 作者:Dust 探索性数据分析Exploratory Data Analysis,EDA 数据探索的核心是︰ 1.数据质量分析(跟数据清洗密切联系) 2.数据特征分析 ...

  7. Python中数据清洗缺失值,重复值和异常值的处理

    1 缺失值的处理 1.1 常规缺失值的处理 np.nan,NaN,None,NaT(时间数据类型的缺失值)等 df.isnull() 1.判断每一个df中的数据是否为缺失值,是则返回True,否则返回 ...

  8. python实现数据清洗(重复值+缺失值+异常值处理)

    实现功能: python实现数据清洗,对重复记录.缺失值.异常值进行检测,并对其进行处理. 实现代码: # 导入需要的库 import numpy as np import pandas as pdd ...

  9. 数据清洗 - 缺失值,异常值,重复值处理

    数据清洗 数据清洗的对象就是缺失值,重复值,异常值 一 重复值的处理一般用删除法,但是在业务上有意义的重复值不能删除import numpy as np import pandas as pd imp ...

最新文章

  1. BCH到底该采用哪种交易排序规则?
  2. Django学习笔记之Django QuerySet的方法
  3. cocostuff10k数据集介绍_COCO数据集整理
  4. 分享懒人张RDLC报表(四)
  5. systemctl常用命令
  6. python适合什么样的人群_什么样的人比较适合选择Python开发+人工智能技术?
  7. 51nod2626-未来常数【树上启发式合并,线段树】
  8. 聊聊Spring Cloud版本的那些事儿
  9. python重写和装饰器_python装饰器
  10. 沉浸式全息本是什么_够炫酷!联想全息教学设备,构建沉浸式教学场景
  11. SQL 中操作XML类型数据
  12. 将一张图片修改为合适的像素大小
  13. 2018-2019-1 20165208 《信息安全系统设计基础》第5周学习总结
  14. js 判断多个一样的name
  15. Php区分自然量跟aso量,ASO优化——判断下载量与评论的比例关系
  16. 【codeforces 760B】Frodo and pillows
  17. poj2816-红与黑-C语言-递归算法入门
  18. 联想笔记本的3.5mm耳机孔 没有声音!!!
  19. S7-1200 PLC 激活系统时钟存储位后,相应的位没有工作?
  20. 从MySQL数据库中查询某个数据库某个表中字段

热门文章

  1. Windows7系统漏洞之破解密码
  2. 微信小程序新版本发布之后用户端怎么更新
  3. 阿里安全专家预警:非法APP疯狂敛财 须谨慎下载
  4. 用 Python + itchat 写一个爬虫脚本每天定时给女朋友发微信暖心话
  5. 名帖174 王诜 行书《颍昌湖上诗词卷》
  6. 小白之家官网一键重装系统软件如何使用
  7. 微信小程序授权(uni-app)
  8. 公益领域:长安链ChainMaker在全民义务植树中的应用实践
  9. @InitBinder 注解的使用
  10. 转:解决AD 不能打开DDB文件的解决方案