版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南商务职业技术学院毕业设计
目录
1引言1
1.1项目背景1
1.2开发环境与工具2
1.2.1Python简介2
1.2.2MySQL简介3
1.2.3Jypyternotebook简介3
1.2.4Python第三方库简介4
2需求分析4
2.1可行性需求分析4
2.2采集目标功能分析5
2.3关键技术分析5
2.3.1网络爬虫技术5
2.3.2文件存取技术6
2.3.3可视化技术6
3数据采集7
3.1采集页面分析7
3.2字段分析10
3.3编程实现11
4数据清洗与处理15
4.1数据清洗15
4.2数据储存18
4.3编程实现19
5数据统计与分析20
5.1数据准备20
5.2数据展示24
5.2.1依据二手车车系数量进行统计和分析24
5.2.2依据二手车车龄进行统计和分析25
I
湖南商务职业技术学院毕业设计
5.2.3依据二手车车辆行驶里程分布进行统计和分析26
5.2.4依据二手车车辆价格分布进行统计和分析27
5.3综述28
6小结28
参考资料29
II
湖南商务职业技术学院毕业设计
基于Python的第一车网长沙二手车数据爬取与分析
1引言
随着当今时代的发展,全球现在已经进入了一个信息高速发展的阶段。自
2012年以来,‘大数据’这个词语就开始在我们的生活中越来越多地被提及,
而现在科技技术的不断的发展,移动互联网的发展越发的快速和成熟。科技技
术的发展伴随着信息呈现一个爆炸式的增长,如今我们的生活每天产生的数据
是我们常人无法统计计算的。当今时代的各种技术在信息大爆炸和社会需求的
引导下不断诞生。互联网技术在当今社会从各个方面为我们提供了各种的技术
基础。现在我们的生活中日常购物,出行,交流都会伴随着数据的产生,而这
便为我们提供了主要的数据来源,这些数据便能让我们去研究和开发新的技术,
从而投入应用到我们的生活中。
衣食住行,医疗发展,安全保障,社会福利等等方面产生的数据在我们当
今社会有着极大的开发价值。我们正处于信息快速发展的阶段,我们这一代的
年轻人应该抓住这次机会,社会上大数据的报导和相关从业者的经历,吸引了
许多人往这个方向发展。大数据相关的从业者都深知在这大量的数据当中隐藏
许多没有被人发掘的发展方向和研究方向。大数据技术目前也是当前信息发展
领域的一个热门话题,尽管现在大数据技术的发展还不够成熟,但是随着时间
发展会越发趋向成熟,大部分的人认为大数据在之后会是大势所向!
1.1项目背景
长沙作为我们国家的特大城市之一,也是湖南省经济发展的重心,在几十
年的艰苦建设以来,也具有了一定的经济实力。衡量一座城市的经济实力不仅
仅只是从城市化水平以及城市间的三大产业的比例来看,还要关注居民的吃穿
住行以及消费能力。
出行作为我们每天生活中必不可少的一环,出行的方式有许多,如步行,
驾车,地铁出行等等,而长沙城市规模已经十分巨大,这次我们就从驾车这一
方面来进行分析。
居民用车现在已经开始慢慢的在每家每户开始普及,而二手车市场恰恰能
够反映居民对需求车辆的要求,同时也能够体现居民的消费能力和购买需求,
以及反映出居民对不同车系的喜好程度。
1
湖南商务职业技术学院毕业设计
二手车网站上涉及到的车系很多,我们需要对网页进行分析获取我们需要
的字段和内容,然后通过Python的爬虫技术获取到我们需要的资料
本次项目我是对第一车网这个网站中针对长沙二手车数据的爬取,将长沙
二手车数据爬取下来后,对其进行处理,分析,最后可视化。众多的数据经过
清洗,统计和分析后,展示在我们面前的结果就是经过可视化的数据,透过可
视化我们能了解到长沙居民对车系的选择,购买能力以及从侧面进而反映出长
沙的经济能力。我的项目包括数据爬取、数据清洗、数据储存以及数据可视化
四个部分。
1.2开发环境与工具
1.2.1Python简介
20世纪80年代末,荷兰的龟叔(GuidoRossum)创造了Python。Python
的诞生是具有戏剧性的,据龟叔自述,Python是他在圣诞节期间为了打发无聊
的时间而开发出来的,之所以会选择Python作为该编程语言的名字,是因为他
是一个大蟒蛇飞行马戏团的爱好者。Python在1991年左右出现在公众面前,从
那时起就演变为是当今全球最流行的语言之一。
Python初期并没有引起大多数人们的关注,在21世纪初Google在大量的
业务上开始应用Python,而这也因此让Python走进大众了的视野,促使了
Python的发展。
Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python
语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速
开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于
独立的、大型项目的开发。
Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调
用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展
程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机
器码。
Python入门难度相较于JAVA、C++等面向对象的语言而言更加简单容易入
门、所以它很快的便走进了大众的视野中。
如今Python的排名已经与老牌的C语言和JAVA语言不相上下,它也逐渐
走进非IT行业工作者的视野内。现如今,人们用它开发简单的小脚本用来做一
些自动化处理或者开发小程序。这也再次突出Python的特点就是易学、第三方
2
湖南商务职业技术学院毕业设计
库足够丰富、并且免费开源、支持跨多平台并且可移植性比较强。
1.2.2MySQL简介
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于
Oracle旗下产品。MySQL是当今最流行的关系型数据库管理系统之一,在WEB
应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,
关系数据库管理系统)应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,
而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL数据库的标志是一个小海豚,它象征着这个数据库的读取、存取速度
和优秀准确的含义。它所使用的SQL语言是用于访问数据库的最常用标准化语
言,它不仅高效而且安全、能与多款主流的计算机语言紧密结合,十分方便开
发人员对其进行操作。与其他的大型数据库例如Oracle,SQLServer等相比,
MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的
个人使用者和中小型企业来说,MySQL提供的功能已经能够满足大部分的需求,
而且MySQL是开放源码软件,因此可以大幅度降低总体成本。
1.2.3Jypyternotebook简介
JupyterNotebook是一个支持实时代码、数学方程、可视化和Markdown的
Web应用程序,它支持40多种编程语言。对于数据分析来说,JupyterNotebook
最大的优点是可以重现整个分析过程,并将说明文字、代码、图表、公式和结
论都整合在一个文档中,用户可以通过电子邮件、Dropbox、GitHub和Jupyter
NotebookViewer将分析结构分享给他人。
JupyterNotebook在数据分析的过程中,编程时具有语法高亮、缩进、tab
补全的功能,可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
JupyterNoterbook在教学人员和开发人员讲解项目时由于其简洁的展示界
面,方便的提供注释,大大的节约了他们的时间同时也减去了一些繁杂的步骤。
Jupyternotebook在我们大数据方面应用比较广泛,特别适合用来做数据
的清洗和处理,能够简洁明了的展示我们在数据清洗和处理时发现错误数据,
因此应用在我们进行数据挖掘和数据可视化上是十分便捷的。
1.2.4Python第三方库简介
Requests:是最友好的网络爬虫功能库,是一个原生的HTTP库,相比于
3
湖南商务职业技术学院毕业设计
urllib3更容易使用的,Requests库拥有完全自动化的Keep-Alive和HTTP连
接池的功能。
lxml:lxml使用它可以轻松处理XML和HTML文件,还可以用于web爬取,
在解析大型文档时处理速度较快,并且提供了简单的转换方法来将数据转换为
Python数据类型,从而使文件操作更容易。本项目中用其内置的xpath用于数
据的爬取。
csv:csv属于python中的内置模块,它能够读取csv格式的文件或者将数
据存入到csv表格中。Csv文件是电子表格和数据库中最常见的输入、输出文件
格式。
pandas:是一个基于NumPy的Python库,是为了解决数据分析任务而创建
的,他纳入了大量的库和一些标准的数据模型,提供了高效操作大型数据集所
需的工具,在本次项目中主要用于数据的读取,存储,清洗以及数据的统计。
Pyecharts:是一个将Python和Echarts相结合的强大数据可视化的第三
方库,可以高度灵活配置绘画出一些常见的如折线图,条形图,环形图以及一
些复杂的的图。
2需求分析
2.1可行性需求分析
1、技术可行性
Python是面向对象语言中的一门通俗易懂的计算机编程语言,本项目中使
用Python编写程序来实现数据获取,数据清洗,数据统计预处理,数据可视化。
随后通过对网页分析发现第一车网长沙二手车页面的数据是静态的,所以我们
通过浏览器控制台获取请求和其参数。然后就可以得到网页面源码。随后转成
html对象,将需要爬取出来的字段以csv格式储存起来,在后续的数据统计,
数据可视化中再进行调用。同时会将准确的数据存入MySQL数据库中做持久化
储存。
以上为此次项目的技术可行性,将在后续的工作中将所有的步骤实现到位,
以确保数据的准确性和安全性。
2、项目可行性
出行的方式随着时代的发展现在已经涌现出了许多的出行方式,如驾车、
火车、高铁、空航、地铁,而在这些出行方式中,驾车出行似乎已经逐渐发展
到大部分的人民生活中,而二手车的的出现便能够反映出经济条件的变化,居
4
湖南商务职业技术学院毕业设计
民的经济条件往往能够反映一座城市的经济状况。
本次项目通过采集了第一车网长沙二手车的数据,来分析长沙居民家庭用
车和个人用车的变化。我将从车系、车龄、车龄行驶距离、车辆价格等四个方
面对其进行剖析,分析出有价值的信息,将其可视化最后根据结果得出结论。
2.2采集目标功能分析
本次项目的数据集的来源是第一车网长沙二手车部分,是通过python爬取
长沙二手车的车系,车龄,行驶里程,价格四种数据。数据清洗后共1997条记
录,爬取完成后尽量的检查数据的准确性,确定爬取出来的数据无误并且是属
于长沙二手车的信息。
分析第一车网长沙二手车网页部分,我们需要爬取的参数有车系,车龄、
里程、价格,在对原始数据进行预处理后我会将处理后数据再次分成四个部分
从这四个部分来进行分析。如,从不同车系的数量对其进行分析,查看每种车
系分别有多少辆,这样能明显的看出居民对车系的大多数选择;又如我们需要
知道所有车辆的价格分布区间,那么我们只要对每辆车的价格划分一个区间,
那么我们就可以整合出每个价格区间的车辆有多少。
2.3关键技术分析
2.3.1网络爬虫技术
在我们的日常生活中浏览网页时常会遇到需要缓存在本地的数据,当数据
量较小时我们可以自己手动下载去获取需要的数据,而在大数据领域通常用到
的数据体量都很大,而这时采取手动下载会使一个十分漫长且愚蠢的过程,同
时部分数据我们还不能获取到,因此在这个时候我们可以采取网络爬虫的方式
去自动化的下载数据。
网络爬虫的英文即WebSpider,是一个很形象的名字。把互联网比喻成一
个蜘蛛网,那么Spider就是在网上爬行的蜘蛛。网络蜘蛛是通过网页的链接地
址来寻找网页,从网站某个页面(通常是首页)开始,读取网页的内容,找到
在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直
循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成
一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来,
网络爬虫按照实现的原理可以分为:通用网络爬虫、聚焦网络爬虫、增量式网
络爬虫、深层网络爬虫等形式。
5
湖南商务职业技术学院毕业设计
在大家的印象中常常将普通的网络爬虫与黑客混为一谈,其实二者之间有
很大的区别。黑客属于违法肆意窃取个人或者组织内有价值的信息以此获利,而
爬虫只是用来代替重复且没有意义的动作,在合法的范围内去获得我们需要的
信息,在某种程度上网络爬虫和普通用户浏览是区别的,但是爬虫确实可以作为
一种攻击的手段。在编写网络爬虫时故意不设置缓冲时间,从而达到极高的频率
来反复访问网站会使得服务器持续在高强度环境下工作,这会对服务器造成很
大的压力,如果在这个时候没有处理好服务器往往会宕机。
网站所有者从所有网站来访者中识别出爬虫并对其做出相应处理(通常为
封禁IP)的过程,而这就被称为反爬虫。对网站所有者而言,爬虫并不是一个
受欢迎的客人。爬虫会消耗大量的服务器资源,而这会影响服务器的稳定性,
增加服务器的运营成本,因此通常会设置一些反爬手段,如设置User-Agent校
验反爬,通过访问频率反爬,通过验证码校验反爬,变换网页结构反爬,账号
权限反爬等等。而这些手段会加大爬虫工作者和网站的开发成本。而对于我们
获取的数据通常相对简单和容易,不会需要投入太多的成本。
在本次项目中主要运用到requests库和lxml库来进行网页的获取以及目
标数据的爬取。
2.3.2文件存取技术
文件存储在本次项目中用到的是pandas库中自带的DataFrame()方法和
to_csv()方法,DataFrame()用于将对象转换成dataframe对象,to_csv()用于
存储到指定的目标路径当中如图2-1显示
图2-1python自带的to_csv方法
2.3.3可视化技术
爬取下来的数据通过预处理、保存为csv文件格式。而这个数据集并不能
反映我们需要得知的结论。
而这个时候我们就需要通过数据可视化技术将我们统计好的数据转化成统
计学图形的方式展现出来,而这个时候我们便能够通过图形来得到我们需要的
结论。
我们获取到的数据仅仅只是一连串字符串,上面信息或许我们通过肉眼或
许都能够看懂,但是当它们累计成一定量的时候我们在短时间内很难看出不同,
6
湖南商务职业技术学院毕业设计
而这就需要我们进行深层次的了解和分析。对这一坨数据集进行处理完毕后,
我们就可以导入第三方库将数据进行合理的整合和判断,来使用什么样的统计
学图形才能最直观的表达出数据集的信息。
本次项目中是将得到的数据通过简单的可视化手段来实现数据可视化,具
体使用的是python第三方库pyecharts去进行可视化,pyecharts中包含了许
多库,分别对应直方图、条形图、环形图、折线图等图形,能够将数据高效率
的表现出来,可视化图形呈现出来后数据的表达就十分明显,从而得出需要的
结论。
3数据采集
3.1采集页面分析
我们首先通过谷歌浏览器搜索第一车网的官方网页,然后进入长沙二手车
页面观察图3-1,其中url为:
/changsha/p1asdsvepcatcpbnscac/#buyCars然后点击
页面下方的分页按钮,同时观察图3-2,这时url为:
/changsha/p2asdsvepcatcpbnscac/#buyCars发现url
通过一个数字进行改变。由于是通过单个数子来改变网页链接,因此我们可以
利用循环将我们需要爬取的网页链接存储到一个列表当中,以便后面爬取网页
数据。
7
湖南商务职业技术学院毕业设计
图3-1数据网址页面(一)
图3-2数据网页界面(二)
按F12调出开发者工具,刷新页面,如图3-3。
图3-3开发者工具
利用全局搜索工具定位所需数据位置,点击开发者工具上面的Headers字
段,发现这个是一个GET请求,那我们需要找到请求头的设置如图3-4和图
3-5。
8
湖南商务职业技术学院毕业设计
图3-4请求头设置(一)
图3-5请求头设置(二)
3.2字段分析
我们首先来到网页面打开网页的选择栏,然后利用全局搜索工具定位到其
中一组数据的位置上,然后会在Elemnts界面跳转到我们需要的那组数据的位
置,通过观我们会发现如图3-6中标注出来的4个字段就是我们需要爬取的其
中一组数据,而这一组数据就是在一个大的板块中,这一个大的板块就包括了
我们在这一页中我们需要爬取的数据,因此我们可以先获取网页数据,利用循
环通过Requests库中的get方法获取到所有需要处理的网页数据,然后通过循
9
湖南商务职业技术学院毕业设计
环和xpath将网页数据中我们需要的数据所需要的板块爬取下来,然后在每一
个板块中通过xpath爬取我们需要的每一组小的数据,将爬取的下的数据存入
一个列表当中,然后将列表转成DataFrame对象,最后在通过pandas自带的
to_csv()方法转存为csv文件的格式。
图3-6字段分析页面
3.3编程实现
导入所需库如图3-7所示:
图3-7导入所需库页面
设置请求头,伪装成浏览器访问服务器,如图3-8所示:
10
湖南商务职业技术学院毕业设计
图3-8请求头内容页面
代码实现如下:
#-*-codeing=utf_8_sig-*-
#@Time:2023/01/2319:35
#@Author:吴志豪
#@File:primary_data.py
#@Software:Pycharm
importrequests
importpandasaspd
fromlxmlimportetree
url_list=[]##用于存储爬取的网页链接
foriinrange(1,51):
url_list.append('/changsha/p{}asdsvepcatcpbnscac/#buyCars'.format(i))
##将网页链接存入列表
headers={###设置请求头
'authority':'',
'method':'GET',
'path':'/changsha/p1asdsvepcatcpbnscac/',
'scheme':'https',
'accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,
image/webp,image/apng,*/*;'
'q=0.8,application/signed-exchange;v=b3;q=0.7',
'accept-encoding':'gzip,deflate,br',
'accept-language':'zh-CN,zh;q=0.9',
11
湖南商务职业技术学院毕业设计
'cookie':'__bid_n=18428aca74b2eca5f34207;
FPTOKEN=30$LZShMS5nSKqFojYv2XuKXa8E7zhWfev/7iDCMHEdrro0NlWMlXg30bk
CqyaLStwP9Us+hRgnWuO8WFXON'\
'Hy0/mXvbzU9r2WGQkgoBZPHDf0BhWhurvShfXv+RNaw1Hg/L8E7BybDLzzu7KNph/Z
nNE3hmX9aI0TfF9/N5OSutqbqbuTNSxAMTZnLQEAUrlqvCVRPF0oX7T9OJu'\
'OBE4bajtiucgmjqHRXiyFAZhQot3JuMpyhw8tHQSD5OKJUg9SfDSQqLxjwrTEKxEp2e/
xY9lwh7q30LrG1zvRvk58NEEDBRrYv4x8AdZYMJ5lit2G3BNlvXVwZRxK'\
'VxTw/YR02gVCXFMRCyhHO1LuaHefe8uB1zgCq1uWvp0ikqgZP2tC8|43L39Y4WZeXuj
R7V7QSxXoM2v4VaejNiSfXnMZwX2MU=|10|d3b02e869425e30ebd060d7'\
'de927d016;_ga=GA1.2.1352334700.1667129715;
pt_6c76c030=uid=o9uxhfe4zDXqnaoJaMapAg&nid=0&vid=rexXg7uLWSbpKAOgkP28YQ
&vn=2&pvn='\
'2&sact=1667129882476&to_flag=1&pl=71qPOE-8iL8jcTYy88Sd1g*pt*1667129827765;
FPTOKEN=uEBDhxnO3fuWlscKJiRcrnwpnRQg1UG3Orgu5Hni1c'\
'XWhUU64Je0au7GeDOAu+NL4xCU85TjDHdGR4u3ItXpBxEIti8ZbyqnlMUU3+lethXcG
8mmj84Mre9Nb/dbiCRtd01yJJAgMA3zJ4fVxStDLUXomZ8GDmuljvU6HDk'\
'AOgr/yD9QTjclW3rC9iwDsoVz2eBmOhEgbcu8GaQ1yCZP0XLTwVxja5Nwi9M9Q9fod30
HWQ/oRkP5xyYbQwIR8QxcPOCj8V9C7At0x1ZmlZdV+iJN0GI41pRVFpcH'\
'Ghs/N6dX/EyLUXJ7ref00pZ011KURwVI7bHfrGAe09P3P6B2lmQ8B4P3yYZTugBUzErT
k6v+BMztV+RX9WblcgBkbvz2mQwzNGJSVT41I2qjJ/YsDg==|Fp1ZfqQA'\
'Xm+OFbah0nyclfUCEGCJLl3XHmhXZ5bp77E=|10|1ad9d9d8ac2d87fe6648a69a21a745c8;
Hm_lvt_561c1d73e7a5e5611b5a93fe18365726=1676687118;'\
'_gid=GA1.2.727558783.1676687118;
_df_id=1_ffe4dc2488b0492bad54c6103ca0c7e5_1676688368;
_df=17219c4c0ad5afd8184cf'\
'8dc679061e5;_pk_ses.3.9483=*;_gat=1;
_pk_id.3.9483=890cda5f008822ed.1667129715.4.1676708018.1676701985.;
Hm_lpvt_561c1d73e7'\
'a5e5611b5a93fe18365726=1676708018',
'sec-ch-ua':'"Chromium";v="110","NotA(Brand";v="24","Google
Chrome";v="110"',
'sec-ch-ua-mobile':'?0',
'sec-ch-ua-platform':'"Windows"',
'sec-fetch-dest':'document',
12
湖南商务职业技术学院毕业设计
'sec-fetch-mode':'navigate',
'sec-fetch-site':'none',
'sec-fetch-user':'?1',
'upgrade-insecure-requests':'1',
'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36
(KHTML,likeGecko)Chrome/Safari/537.36'
}
data_list=[]##定义一个用于储存总数居的列表
a=0
foriinurl_list:
a+=1
get_data=requests.get(i,headers=headers)##获取每一页的网页源代码
text=get_data.content.decode('utf-8')##将网页源代码编码
html_text=etree.HTML(text)##转换成html对象
page_data=html_text.xpath('//*[@id="buyCars"]/div[2]/ul[2]')##截取出需要爬取的
部分
print('正在爬取第{}页'.format(a))
foriinpage_data:
name_list=i.xpath('//li/a/h6/text()')##每一页的车系名称列表
age_list=i.xpath('//li/a/div[3]/span[1]/text()')##每一页的车龄列表
long_list=i.xpath('//li/a/div[3]/span[2]/text()')##每一页的里程列表
price_list=i.xpath('//li/a/div[4]/strong/text()')##每一页的价格列表
foriinrange(len(name_list)):
page_list=[]##储存每一页的数据
page_list.append(name_list[i].strip())##.strip()用于去除字符串前后的空白
page_list.append(age_list[i].strip())
page_list.append(long_list[i][:-4].strip())
page_list.append(price_list[i].strip())
data_list.append(page_list)##存入总列表
dataframe_one=pd.DataFrame(data_list,columns=['车系','车龄','里程(万公里)','价格(万
元)'])##将数据列表转成dataframe对象
dataframe_one.to_csv(r'F:\Python_pycharm\Graduate\total_data.csv',index=False,
encoding='utf_8_sig')##将数据源保存为csv文件
print(dataframe_one)##打印保存的数据
13
湖南商务职业技术学院毕业设计
4数据清洗与处理
获得到需要的数据集之后需要对数据进行预处理,也就是所谓的清洗和检
查,需要确定爬取过来的数据是否存在无效值、重复值以及空值,需要保证数
据的一致和正确,这在数据数据分析的过程中是十分重要的一环,一个数据的
错误都会导致可视化结果不准确,结论差距过大。同时我们还需要对数据进行
有序化和有理化的处理,这样在后面的数据调用过程中会减少相对应的开发时
间和陈本。
在这次项目中会将获取下来的数据和网页原数据进行比对,同时检查数据
中是否包含有空值和错误值,还有数据是否处于正确的位置。最后根据不同的
需求要对数据集进行不同的数据统计。
4.1数据清洗
图4-1数据清洗准备页面
加载好准备数据如图4-1所示,然后使用pandas库中的duplicated()方法
来判断元数据中是否含有重复值,duplicated()会将所有重复值标记为true,
如图4-2所示:
14
湖南商务职业技术学院毕业设计
图4-2判断是否含有重复值
由于JupyterNotebook不会显示所有的数据,因此再通过
drop_duplicates方法来删除重复值来判断,drop_duplicates方法会将
duplicated方法中标记为true的数据删除,经过比对,发现获取到的数据中含
有3条重复值数据,如图4-3所示保留有1997条数据。
图4-3删除重复值后的数据
然后对去除重复值后的数据判断是否含有空值和缺失值,使用isnull()来
将所有空值和重复值标记为true,如图4-4所示:
15
湖南商务职业技术学院毕业设计
图4-4判断是否含有空值和缺失值
由于JupyterNotebook不会显示所有的数据,因此再通过dropna()方法来
删除空值和缺失值来判断,删除空值和缺失之后经过对比后保留有1997条数据,
因此该数据中不包含有空值和缺失值,如图4-5所示:
图4-5删除空值和缺失值后的数据
16
湖南商务职业技术学院毕业设计
将清出重复值,空值和缺失值后的数据存入一个新的csv文件,新的csv
文件便是用于后面再次划分统计和分析的调用数据,数据清洗完成后的数据如
图4-6所示:
图4-6数据清洗完成界面
4.2数据储存
数据储存得方法有很多种,常见有记事本格式储存(txt),或者存储成
csv、excel、json等文件格式,这些数据存储方式保存的数据通常而言数据量
比较少。如果需要储存较大的数据量就可以用到数据库,数据库分为关系型数
据库和非关系型数据库。常见的关系型数据库有MySQL和Oracle等,非关系型
数据库常见的有以键值对形式来存储数据的有Mongodb、Redis、Hbase。本次项
目用到的是csv和MySql用来保存数据清洗后的数据,如图4-7和图4-8所示:
图4-7数据存储为csv页面
17
湖南商务职业技术学院毕业设计
图4-8数据存储MySQL后页面
4.3数据存储的编程实现
创建数据库(注意要修改好字符集,否则可能出现乱码)如图4-9所示:
图4-9Mysql创建数据库修改字符集页面
创建数据表,如图4-10所示:
图4-10Mysql建表页面
导入本地csv表格数据,因为mysql软件有自带的导入功能可以直接将文
件数据存入表中因此创建好数据表后可以直接导入数据,导入后验证数据是否
正确,如图4-11所示:
图4-11存储MySQL后验证页面
18
湖南商务职业技术学院毕业设计
5数据统计与分析
5.1数据准备
导入相关库,使用pandas加载源数据,如图5-1所示:
图5-1数据准备页面
对车系进行分析时,对数据进行第一次处理,首先提取出原数据中车系那
一列,如图5-2所示:
图5-2车系数据准备页面
由于同种车系有多种版本,所以将车系简化,如图5-3所示:
19
湖南商务职业技术学院毕业设计
图5-3车系数据处理后页面
将车系数据保存到另一个csv文件。
对车龄进行分析时,对原数据中的车龄一列进行提取,如图5-4所示:
图5-4车龄数据准备页面
由于根据车辆使用一般都是根据使用年份来进行判断,因此对每行数据提
取年份,如图5-5所示:
图5-5车龄数据处理后页面
20
湖南商务职业技术学院毕业设计
将处理后的车龄数据保存到csv文件中。
对行驶里程来进行分析时,对原数据集中的里程(万公里)这一列进行提取,
如图5-6所示:
图5-6行驶里程数据准备页面
由于每辆车的行驶里程是不同的且部分数据相差细微,因此对车的行驶里
程划分一个区间,处理后如图5-7所示:
图5-7行驶里程数据处理后页面
将处理后的行驶里程保存到csv文件。
根据车辆价格来进行分析时,对原数据集中价格(万元)一列,如图5-8所
示:
图5-8价格数据准备页面
由于部分车量价格相差不是特别大,且数据分布太多,因此对价格进行一
21
湖南商务职业技术学院毕业设计
个区间的划分,如图5-9所示:
图5-9价格数据处理后页面
将处理后的价格数据保存到csv文件。
将所有整理的数据整合以一下,就是这次项目使用到的所有数据,如图5-10
所示:
图5-10所有数据整合后页面
22
湖南商务职业技术学院毕业设计
5.2数据展示
5.2.1依据二手车车系数量进行统计和分析
图5-11数据展示页面(一)
将表格中车系字段数据进行处理和汇总后将每种车系出现的频率进行统计,
统计后会获得我们需要的列表,通过pyecharts中wordcloud()方法结合统计好
的列表生成图5-11展示的界面。通过图5-11我们可以看出宝马3系和奥迪A6L
占据了整个图的大部分地区,再其次就是奔驰C级,凯迪拉克XT5和奥迪A7掀
背,可以看出这几种车系是长沙大部分居民购车的第一选择,然后在结合这几
种车系的市场价格宝马3系和奔驰C系价格在29万到40万之间,凯迪拉克XT5
在35万到45万之间,奥迪A6L在42万到65万之间,通过这几种车系的价格
我们不难发现长沙部分居民的经济状况还是可以的,这几中车系为大部分家庭
经济不错的首要选择。
通过这张图我们还可以发现奥迪,宝马,奔驰这几个词在图中出现的频率
是比较高的,而这三种车我们能够发现都是属于德国品牌的车,并且都被冠以
豪车品牌,而这三种车我们能够发现不仅仅实在长沙地区受欢迎,在全球地区
也是比较受欢迎的,因此家庭经济条件好的这三种车系是大部分人的第一首选。
而其他有出现但频率不高的车系价格可能要高于或低于这三种品牌,当然这三
种车系也存在平价车或者低价的车,因此从这张图我们能够得知长沙居民的经
济水平相对还是比较平稳的。
23
湖南商务职业技术学院毕业设计
5.2.2依据二手车车龄进行统计和分析
图5-12数据展示页面(二)
从图5-12可以看出长沙居民更愿意挂售车龄在2017年到2020年的车系,
车龄在2017年之前和车龄在2020年之后的二手车数量加起来不超过我们获取
到数据的百分之44,而车龄在2017年到2020年之后的车数量占据了一半以上,
为何车龄对二手车价格有何影响呢?为何车龄为影响人们对二手车的选择呢?
原因十分简单,因为随着二手车车龄的增加,车辆的性能,外观以及内饰
等方面的质量会随之下降,这将会影响到买家对车辆的兴趣。此外,随着车龄
的增加,车辆的维修费用会变得越来越高,而这也会影响到卖家对车辆的兴趣。
因此,车龄越长车辆的价格就会越低。还有一个重要因素,就是大部分的卖家
都会选择为车购买保险,而随着车龄的增长,车辆的保险费用也会越高,而买
家不会因为价格低去购买一个后续保险费用高的二手车。而在2017年到2020
年这段车龄的车的车龄刚好适中并且刚好是处于一个价格适中,车辆维护费用
较低,保险费用较低的一个状态,而车龄过小会导致价格过高超过买家预算,
车龄过大会导致价格过低但是后续维护过高。因此车龄在2017年到2020年二
手车将会是大多数买家的选择。而从这些方面可以看出长沙居民的经济状况而
言都是相对稳定的,居民经济状况稳定也能够反映出长沙的经济实力是处于一
个相对稳定的状态的。
24
湖南商务职业技术学院毕业设计
5.2.3依据二手车车辆行驶里程分布进行统计和分析
图5-13数据展示页面(三)
从图5-13我们可以得知在车辆行驶距离在5到10万公里的车的数量占据
了我们这次获取数量的83.25%,这是一个十分庞大的占比辆,而通过这里我们
可能会知道,为何车辆的行驶里程会影响人们对二手车购买的选择呢,而行驶
距离会影响到车辆的哪些方面呢?
车辆行驶距离对二手车的影响是十分明显的,它会影响到二手车的价格变
化。首先,车辆行驶的距离越长,车辆的价格就会越低,这是因为车辆行驶的
距离越长,就表明了车辆的磨损是十分严重的,而这些磨损则会导致买家在后
续会增加一些不必要的花费,而买家通常是不想为这些东西而去买单的。除了
会影响价格外,车辆的行驶距离会影响车辆的性能和使用寿命,因为随着行驶
距离的增加,车辆的发动机,变速箱和刹车系统都会伴随着不同程度的磨损,
而这些关键部件的磨损则会导致车辆的总体性能发生变化,而寿命也会有不同
程度的下降,而这则会为买家埋下一笔未来需要支付的隐形费用。车辆的行驶
距离还会对车辆有另一个影响,那就是车辆的外观和内饰。车辆行驶距离越长,
车漆面的光泽度会有不同程度的降低,在行驶过程中,车辆表面难免还会有一
些刮蹭,和一些无法去除的污渍,而内饰会有部分的老化,如果前主人不加以
保养的话,内饰的老化是不可避免的,车漆面的修复需要重新刷漆,内饰会需
要进行重新的更换,而这也为二手车的买家无形的增加了后续的费用。而作为
25
湖南商务职业技术学院毕业设计
一名二手车的买家,自然是想购买一辆性能和使用寿命相对正常,零件寿命正
常的车辆,而车的外观能带给买家好的观感,车的内饰会给买家一个好的感受。
而车辆行驶距离在0到10万公里的车会是大部分卖家的挂售选择,再结合上一
部分车龄的分析,可以得知车龄2017到2020年的二手车大部分都处于这个阶
段,从而我们可以得知车龄2017年到2020年且行驶距离在0到10万公里是买
家最好的选择,而这一部分的价格不会过高,不会过低,是处于一个适中的价
位,而这可以得知长沙居民的经济实力是相对稳定的,从而从侧面可以的得知
长沙的经济发展的状况还算稳定。
5.2.4依据二手车车辆价格分布进行统计和分析
图5-14数据展示页面(四)
我通过对每辆车划分到相应的相应的价格区间,通过环形图展示出来如图
5-14所示。我们弄够从图中的得知到二手车的价格主要分布
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度雪花啤酒智能家居产品代理合作合同范本3篇
- 2025年度个人养老保险补充合同范本2篇
- 2025年度个人信用担保服务协议3篇
- 2025年度个性化个人家政服务合同范本(定制服务)4篇
- 异地书店买卖合同(2篇)
- 高端钛锅:烹饪艺术革新科技与健康的融合 头豹词条报告系列
- 2024年中级经济师考试题库及答案(网校专用) (一)
- 2025年度智能门窗定制服务合同4篇
- 2024年中级经济师考试题库【考试直接用】
- 遮光式计数器课程设计
- 湖北省黄石市阳新县2024-2025学年八年级上学期数学期末考试题 含答案
- 硝化棉是天然纤维素硝化棉制造行业分析报告
- 央视网2025亚冬会营销方案
- 《无砟轨道施工与组织》 课件 第十讲双块式无砟轨道施工工艺
- 江苏省南京市、盐城市2023-2024学年高三上学期期末调研测试+英语+ 含答案
- 2024新版《药品管理法》培训课件
- 《阻燃材料与技术》课件 第7讲 阻燃橡胶材料
- 国家开放大学学生成绩单
- 船员外包服务投标方案
- 沉积相及微相划分教学课件
- 移动商务内容运营(吴洪贵)任务五 引发用户共鸣外部条件的把控
评论
0/150
提交评论