# -*- coding: utf-8 -*-import pymysql
import numpy as npy
import pandas as pda
import matplotlib.pylab as pyl
import matplotlib.pyplot as plt#导入数据
conn=pymysql.connect(host="127.0.0.1",user="root",passwd="123456",db="爬虫111")
sql="select * from taob"
data=pda.read_sql(sql,conn)
# print(type(data))
# print(data)
# print(data._values)
# print(data.axes)
# print(data.columns)
# print(data.index)
# print(data['price'].head(4))
# print(type(data['price'].isnull()))
# print(data['price'].isnull().head(4))
for i in range(len(data)):# print(data['price'].isnull()[i])if i==5:break#数据清洗,发现和处理缺失值
x = 0
# print(data.columns)
# print(len(data))
data["price"][(data["price"]==0)]=None
for i in data.columns:  # data.columns:['title', 'link', 'price', 'comment']for j in range(len(data)):  # len(data) 行数9616if(data[i].isnull())[j]:  # 如果为False即插值data[i][j] = "64"  # 空值插入64x += 1
# print(x)#异常值处理、找到异常值、画散点图(横轴:价格,纵轴:评论数)
data2=data.T
price=data2.values[2]
comt=data2.values[3]
plt.xlabel('price')        #显示X坐标标签
plt.ylabel('comt')         #显示Y坐标标签
pyl.plot(price,comt,"o")
pyl.show()
#可以看到有部分数据评论数过高,或许为热销商品或者存在刷评论,
# 还有一部分数据价格过高,甚至高达700,而一般书籍价格不会高过¥150。
# 对于这些异常值我们在作数据分析时一般不会考虑,删除或者改动这些异常值即可。
#处理异常数据,评论大于65,价格大于100都处理掉
line=len(data.values)
col=len(data.values[0])
da=data.values
# print(da[26])
newda=da[26]
newda=npy.row_stack((newda,da[26]))
# print("newda:", newda)
#删除处理法
x=0
for i in range(0,line):for j in range(0, col):if(da[i][3]>65):#评论数大于65continueelif(da[i][2]>100):#价格大于100continueelse:if(x==0):newda=da[i]else:newda=npy.row_stack((newda,da[i]))x+=1da2=newda.T
price=da2[2]
comt=da2[3]
plt.xlabel('price')        #显示X坐标标签
plt.ylabel('comt')         #显示Y坐标标签
pyl.plot(price,comt,"o")
pyl.show()#分布分析
#求最值
#计算极差
#组距:极差/组数
#绘制直方图#求最值
pricemax=da2[2].max()
pricemin=da2[2].min()
commentmax=da2[3].max()
commentmin=da2[3].min()
#极差
pricerg=pricemax-pricemin
commentrg=commentmax-commentmin
#组距
pricedst=pricerg/13  # 13个数据显示一个price
commentdst=commentrg/13# 绘制价格直方图:为了表明数据分布情况。通俗地说就是哪一块数据所占比例或者出现次数较高,哪一块出现概率低
# npy.arrange(最小, 最大, 组距)
pricesty = npy.arange(pricemin,pricemax,pricedst)
# print('pricesty',pricesty)
# print(type(pricesty))
# print(pricesty[1])
plt.xlabel('price')        #显示X坐标标签
plt.ylabel('number')         #显示Y坐标标签
pyl.hist(da2[2], pricesty)
pyl.show()#绘制评论数直方图
commentsty=npy.arange(commentmin, commentmax, commentdst)  # arange(start,stop,step)
plt.xlabel('histcomt')        #显示X坐标标签
plt.ylabel('histnumber')  #显示Y坐标标签
pyl.title("histImage")
pyl.hist(da2[3],commentsty)
pyl.show()

数据清洗-python实践相关推荐

  1. Python实践 - 网络爬虫笔记 - 1、对 URL 的 get 请求

    Python实践笔记 - 1.高德地图的坐标转换与周边搜索 张板书的Python的实践笔记,包括笔记与DeBug的经历. 为了完成一个比较麻烦的实习任务,尝试着做了这样一个爬虫项目. 实践内容为对一个 ...

  2. 自学python推荐书籍同时找哪些来实践-机器学习:Python实践 PDF 原书完整版

    给大家带来的一篇关于人工智能相关的电子书资源,介绍了关于机器学习.Python实践方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小124.7 MB,魏贞原编写,目前豆瓣.亚马逊.当当.京 ...

  3. python数据挖掘例题_数据挖掘与python实践试题及答案

    数据挖掘与python实践试题及答案 更多相关问题 [填空题] 进厂检验之所以重要,因为它是涂料入厂()工序 [多选] 裂纹可能是由于下列哪些原因造成的:() [多选] 涂装车间常用的消防器材共有几种 ...

  4. 机器学习算法与Python实践之(六)二分k均值聚类

    机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学 ...

  5. 机器学习算法与Python实践之(五)k均值聚类(k-means)

    机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学 ...

  6. 机器学习算法与Python实践之(三)支持向量机(SVM)进阶

    机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学 ...

  7. 机器学习算法与Python实践之(二)支持向量机(SVM)初

    机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学 ...

  8. 机器学习算法与Python实践之(二)支持向量机

    http://blog.csdn.net/zouxy09/article/details/17291543 机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己 ...

  9. 机器学习算法与Python实践之(四)支持向量机(SVM)实现

    机器学习算法与Python实践之(四)支持向量机(SVM)实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 机器学习算法与Python实践这个系列主要是参考 ...

最新文章

  1. 几个流行移动前端框架的比较评分
  2. for循环语句的用法
  3. 目标检测R-CNN模型的CNN模块微调过程分析【全网最易懂】
  4. 网站SEO优化值得收藏的技巧介绍
  5. 在代码中向ReportViewer动态添加数据源
  6. [转]IE下对文件(图片)进行base64转换
  7. 干货下载 | 评估产品增长,勿陷入“土著思维”
  8. LeetCode Algorithm 704. 二分查找
  9. 【工具】Win 7/8/10 下使用 VC++6.0
  10. 开源战略游戏源码_开源的历史告诉我们关于战略优势的知识
  11. 如何控制if跳出_Wasm介绍之5:控制指令 | 火星技术帖
  12. 记录一下:new的几种用法
  13. python创建一个有序链表_Python实现合并两个有序链表的方法示例
  14. OCS Inventory NG使用之win平台下的AGENT端安装与信息收集(一)
  15. Atitit react 详细使用总结 绑定列表显示 attilax总结 1. 前言 1 1.1. 资料数量在百度内的数量对比 1 1.2. 版本16 v15.6.1 1 1.3. 引入js 2
  16. 浅谈大比例尺数字地形图的缩编方法
  17. 连不上WiFi了怎么办之网络异常时的网络重置
  18. JAVA微信公众号开发之自动回复消息与图片
  19. BNU Training 2017.07.20 【(2+1+0.233)/11】[待补]
  20. c++学习笔记【oop与pop的辨析】

热门文章

  1. Postman用法简介-Http请求模拟工具
  2. JAVA WEB篇1——初识JAVAWEB
  3. Java面向对象编程篇4——内部类
  4. 单链表插入元素 注释 c语言,数据结构之无头单链表的相关练习题——C语言实现(详细注释)...
  5. kido机器人用流量吗_国脉电信200元天网卡,交1700流量无线用,拉人加入还会有不错的收益,你信吗?反正我是不信!...
  6. java bloomfilter_爬虫技术之——bloom filter(含java代码)
  7. Oracle查询表|注释|字段|字段注释
  8. java集合的遍历_Java集合之遍历
  9. php 的html文件怎么打开,什么是html文件?html格式如何打开?(图)
  10. php ip2long bug,PHP代码ip2long 循环有关问题