美文网首页呆鸟的Python数据分析
数据分析实战——共享单车

数据分析实战——共享单车

作者: DC学院 | 来源:发表于2018-11-23 11:43 被阅读57次

    共享单车在近两年来火爆的不要不要的,而我在学习了数据分析师(入门)的几堂课之后,十分想要尝试一下数据分析的过程。

    此次打算从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、知乎上面的大佬的代码,让我在琢磨的过程中受益匪浅~感谢大佬们的分享与帮助。

    点击关注,探索数据科学之旅
    公众号ID
    DataCastle-VIP

    相关文章

      网友评论

        本文标题:数据分析实战——共享单车

        本文链接:https://www.haomeiwen.com/subject/ahfjqqtx.html