共享单车数据可视化分析(PythonSeaborn)

Python022

共享单车数据可视化分析(PythonSeaborn),第1张

项目数据来源于kaggle项目 Bike Share Demand ,使用Python对数据进行了可视化分析:

1. 提出问题

影响共享单车租用数量的因素有哪些?影响程度如何?

2. 理解数据

变量说明:

3.数据清洗

1)数据预处理:数据完整无缺失值

2)特征工程:从datetime中提取年、月、日、时、星期等时间信息

4. 可视化分析

1)单车使用量在天气维度上的分析(天气、温度、湿度和风速相关性)

可以看到,整体租车量受天气影响较为明显,极端的天气租车数量减少。

4级天气看起来有些异常,于是统计数据条目:

可以看到,4级天气只有1条数据记录,这种极端天气情况出现的数据极少。

温度和使用量有正相关关系,湿度与使用量有负相关关系,风速和使用量几乎不相关。

由图像可看出,使用量与温度、湿度和风速的关系,相关性有限。

2)单车使用量在时间维度上的分析(月份、季节、时间、星期等相关性)

总量来看,节假日和周末/工作日的租车数量基本相同。

图1可以看出2012年共享单车的使用量高于2011年,消费人群增加了1.5~2倍。两年内租车量随月份变化的趋势相同,6、7、8月有明显的高需求。

图2可以看出租车时间高峰为上午7-8点,下午5-6点,符合上下班通勤的时间范围。季节上看,春天的租车辆明显少于其它三个季节。

图3可以看出工作日租车辆主要为上下班时间,周末租车辆主要集中在10am-4pm之间。

3)单车使用量与注册用户/非注册用户的相关性

注册人数使用量明显高于非注册人数,

非会员casual主要是周末出行,为了游玩会员registered主要是为了周一到周五上班。

5. 总结

python是一款应用非常广泛的脚本程序语言,谷歌公司的网页就是用python编写。python在生物信息、统计、网页制作、计算等多个领域都体现出了强大的功能。python和其他脚本语言如java、R、Perl 一样,都可以直接在命令行里运行脚本程序。工具/原料

python;CMD命令行;windows操作系统

方法/步骤

1、首先下载安装python,建议安装2.7版本以上,3.0版本以下,由于3.0版本以上不向下兼容,体验较差。

2、打开文本编辑器,推荐editplus,notepad等,将文件保存成 .py格式,editplus和notepad支持识别python语法。

脚本第一行一定要写上 #!usr/bin/python

表示该脚本文件是可执行python脚本

如果python目录不在usr/bin目录下,则替换成当前python执行程序的目录。

3、编写完脚本之后注意调试、可以直接用editplus调试。调试方法可自行百度。脚本写完之后,打开CMD命令行,前提是python 已经被加入到环境变量中,如果没有加入到环境变量,请百度

4、在CMD命令行中,输入 “python” + “空格”,即 ”python “;将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可。

简介:

对于Python2而言,对于一个全局变量,你的函数里如果只使用到了它的值,而没有对其赋值(指a = XXX这种写法)的话,就不需要声明global。

相反,如果你对其赋了值的话,那么你就需要声明global。

声明global的话,就表示你是在向一个全局变量赋值,而不是在向一个局部变量赋值。

若多个线程或进程同时操作这一变量可能会导致抢占资源的现象,变量不能按照预定的逻辑进行操作,这时,在改变变量前需要对变量加互斥锁,操作完成后释放互斥锁。

题外话:

GIL(Global Interpreter Lock) 全局解释器锁,导致任一时刻只能有一个线程使用解释器,当用于 IO 密集型任务时,IO 期间线程会释放解释器。

在 CPU 计算繁忙的任务重 不建议使用多线程,在非 CPU繁忙型任务中建议使用多线程。

顺便说下使用多进程的好处:完全并行,无 GIL 的限制,可充分利用多 CPU 多核的环境。

多线程使用互斥锁Demo :