数据分析实战——共享单车
Posted DataCastle数据城堡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据分析实战——共享单车相关的知识,希望对你有一定的参考价值。
共享单车在近两年来火爆的不要不要的,而我在学习了数据分析师(入门)的几堂课之后,十分想要尝试一下数据分析的过程。
此次打算从kaggle上的共享单车项目进行入手,选择了bike-sharing-demand项目,COME ON !
说到数据分析就要想到一个东西,数据分析的流程。
数据分析主要分为5大流程:
1
需求分析
明确自己的需求是什么,想要用这个数据集来做什么?
这个应该是很多小伙伴们都很纠结的一个问题,不知道从何入手,那我们可以去找一下资料,看看别人做这个分析的时候都会从哪些角度入手?怎么样研究问题呢?
2
数据获取
我们有了明确的目标之后,就要考虑数据是怎么获取的,本文最初采用kaggle数据集中的数据。
获取数据的方法除了从kaggle下载之外,还有很多方法,之前DC学习助手就有一篇专门介绍数据获取方式的文章。
3
数据处理
数据处理是整个数据分析过程中最麻烦的步骤,有句话说“数据科学家的70%时间都是用在数据处理上”。
4
数据分析
当我们拿到了已经进行清洗完的数据之后,那我们就要考虑具体的分析内容了。
分析方法有很多,常见的有描述性统计分析、探索性数据分析、验证性数据分析。可以根据自己的数据和分析目标去选择。
5
数据可视化
数据可视化是数据分析的最后一步,也叫做结果展示,通过图表的方式有效并且清晰的来展示与传达信息。
在本文中我们采用的是python中的seaborn库进行可视化。
我们可以认为它是matplotlib库的高级版,对复杂的可视化图表支持的比较好并且也很美观,可以媲美R语言的ggplot2库。
好了,简单介绍完了数据分析的流程之后,我们就要正式开工了。
step1 导入包
这里面的包就不过多解释啦,都是我们常用的数据分析及可视化包。
你们可能会比较好奇%matplotlibinline是什么东西。
这个其实是因为我用的是jupyternotebook,如果不用这一行代码的话,就只会显示出一串稀奇古怪的东西。
除了这行代码可以之外呢,还有另外一个也可以,就是%matplotlib note,它的功能更为强大,还能放大缩小图表,但是缺点就是更耗内存。
step2 导入数据
在此处选择的是试用pandas库中read.csv()方法,后面看到很多的参数,原因是我之前没有加后面的参数之后,一直在报错无法初始化。
考虑两个情况,第一个就是因为有中文的问题,所以在第一个里面放入了encoding 参数,找到是engine的过程很曲折,此处不细说。
step3 查看数据字段含义
用head方法查看前五个数据,可以看出train数据集里面的字段比test的字段多三个,然后查看数据量。
训练集的数据量是10886条12个字段,测试集是6493条数据9个字段,训练集比测试集的字段量多的为:casual、registered、count。
这些会不会给我们的分析带来灵感呢?下面我们就来看下这个数据集里面给的条件。
Datatime:日期时间,可以拆分出来年月日、时分秒这些数值
Season:季节1=春天 2=夏天 3=秋天 4=冬天
Holiday:是否是节假日 0=是,1=不是
Workingday:1=工作日 0=周末
Weather:1=晴天,多云 2=雾天,阴天 3=小雪,小雨 4=大雨,大雪,大雾
Temp:气温摄氏度
Atemp:体感温度
humidity:湿度
windspeed:风速
casual:非注册用户个数
registered :注册用户个数
count:总租车人数(在特定时间内)
step4 数据清洗
字段含义已经很清晰明了了,下面就开始进行数据清洗工作。
01
我们采用的是查看是否有空值,那就需要将两个数据集合并。
得到的结果:
我们可以看到除了test里面的三个不含有的字段之外,其它都是0,这说明这个数据非常的完整,良心数据。
02
为了后续分析方便,datatime字段我们会处理成单个的日期时间,分割为日期和时间,因为给出的都是小时数,所以我们直接切分为小时。
为了方便后面的处理,我们将原始数据转化为DataFrame格式。
step5 数据分析及可视化
完成上面的处理之后我们就要进行数据的分析了,首先我们选择使用相关性分析。
01
热图
根据上图我们可以看出
季节和体感温度、外界温度有强的正相关
天气和湿度呈现较强的正相关
气温温度和体感温度及租车人数呈现强正相关性
体感温度和气温温度及租车人数呈现强正相关性
湿度和租车人数呈现较强的负相关性
总结上面的两点就是,温度越高租车人数越多;湿度越大租车人数越少。
湿度和环境有很大关系,猜测湿度非常大可能是雨雪天气,那此时人们对于单车的需求将会大大降低。
这个说法并不严谨,肯定有个温度的上限,超过即人数下降。
虽然气温和体感温度呈现强相关性,天气和湿度,季节和外界温度体感温度也是强相关性,但是只是本身的性质,对于目前分析来说没有什么帮助。
02
季节和租车人数的关系
既然季节和体感温度、气温温度有强相关,而后两者又和租车人数有关,那我们来研究一下季节和租车人数有什么样的关系。
获得下图:
我们可以看到相对于夏季和秋季来说,春季租单车人数明显较少,而冬季相对来说变化不是非常大,略小于夏秋季节。
原因可能是春季还没有回暖,部分地区可能会风雨较多,并且所谓春寒料峭嘛,人们大多数不太喜欢骑单车。
那冬季为什么会比春天多呢?推测可能是因为人们从秋天过渡到冬天的,最开始的时候还是会比较喜欢骑车子,后面越来越冷才会减少骑车。
03
温度和租车人数的关系
到底是不是因为温度的原因呢?那我们下面就研究一下温度。
刚才我们说到了温度和租车人数呈现强相关性,我们能推测出来,温度越高租车的人越多,但是不准确,我们验证一下,Let’s GO。
根据图像可以看出来,在当温度及体感温度高于大约35摄氏度的时候,用户的使用频率就开始降低。
也就是说,虽然确实是随着温度的增加,骑车人的数目也会增加,但是达到一定的温度还是会下降的,说明之前的推测是对的,确实有个上限。
好了,这次简单的小实战练习就结束了,这次的代码参考与了KAGGLE、知乎上面的大佬的代码,让我在琢磨的过程中受益匪浅~感谢大佬们的分享与帮助。
- DataCastle -
以上是关于数据分析实战——共享单车的主要内容,如果未能解决你的问题,请参考以下文章
共享单车—— React后台管理系统开发手记:Redux集成开发
共享单车—— React后台管理系统开发手记:Router 4.0路由实战演练