一、数据来源:

Bike Sharing Demand | Kaggle​www.kaggle.com

二、提出问题:

共享单车使用量与哪些因素有关?这些因素如何影响人们使用单车?

(原本这个项目的目的是预测华盛顿地区的共享单车的租赁需求量,在这里我们主要任务是将共享单车的数据进行可视化分析,不着重选择合适的机器学习模型来预测需求量。)

三、理解数据:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from datetime import datetime
import seaborn as sns
#优化图片显示结果
%matplotlib inline# 导入训练数据和测试数据
train_set = pd.read_csv('./train.csv')
print('训练数据集:',train_set.shape)               # >>> 训练数据集: (10886, 12)
test_set = pd.read_csv('./test.csv')
print('测试数据集:',test_set.shape)                # >>> 测试数据集: (6493, 9)#合并数据
total_set = pd.concat([train_set,test_set])
total_set.info()                                   # 训练集和测试集合并之后的信息
total_set.head()                                    

四、清洗数据:

# 从datetime中提取年、月、工作日、日期等信息
total_set['date']=total_set.datetime.apply(lambda c : c.split( )[0])
total_set['hour']=total_set.datetime.apply( lambda c : c.split( )[1].split(':')[0]).astype('int')
total_set['year']=total_set.datetime.apply( lambda c : c.split( )[0].split('-')[0]).astype('int')
total_set['month']=total_set.datetime.apply(lambda c : c.split( )[0].split('-')[1]).astype('int')
total_set['weekday']=total_set.date.apply( lambda c : datetime.strptime(c,'%Y-%m-%d').isoweekday())
total_set.drop('datetime',axis=1,inplace=True)total_set.head()

五、分析数据:

相关系数热图:

fig = plt.figure(figsize=(12,12))
ax1 = fig.add_subplot(1,1,1)
sns.set(style='dark')
sns.heatmap(corr,ax=ax1,vmax=1,square=False,annot=True,cmap='GnBu',linewidths=.5)
plt.title('Heatmap on Correlation',fontsize=30,color='black')
plt.xticks(fontsize=18,color='black')
plt.yticks(fontsize=18,color='black')
plt.show()

通过观察,我们发现与共享单车的使用量相关性比较大的是小时,温度,体感温度以及湿度。

接下来,我们逐个分析相关因素与使用量之间的关系

1.小时:

hour_count = total_set.groupby(['hour'])['count'].sum()
hour_count.plot(color='k',linestyle=':',marker='o')
plt.ylabel('count')
plt.title('count per hour')
plt.grid(True)

  • 6点到9点以及17点到19点之间使用共享单车的人数达到峰值(上下班时间)
  • 平均每天单车使用量最大的时间点是在晚上17点左右

2.月份与季节

month_count = total_set.groupby(['month'])['count'].mean()
month_count.plot(kind='bar')
plt.title('Average count per month')
plt.ylabel('count')
plt.grid(True)

  • 6月到9月(夏季)是人们使用共享单车最多的季节
  • 1月是使用人数最少的月份,从1月到6月,单车使用人数逐渐增加,6月达到峰值,往后使用量逐渐减少

3.温度,湿度,风速

fig,(ax1,ax2,ax3) = plt.subplots(ncols=3)
fig.set_size_inches(18, 5)
sns.set(style='white')
sns.despine()#regplot:绘制带有线性回归曲线的散点图
ax1=sns.regplot(x="temp", y="count", data=total_set, ax=ax1)
ax2=sns.regplot(x="windspeed", y="count", data=total_set ,ax=ax2)
ax3=sns.regplot(x="humidity", y="count", data=total_set ,ax=ax3)#ax1.set(xlabel='temp',ylabel='count')
ax1.set_xlabel('temp',color='black',fontsize=15)
ax1.set_ylabel('count',color='black',fontsize=15)
ax2.set_xlabel('windspeed',color='black',fontsize=15)
ax2.set_ylabel('count',color='black',fontsize=15)
ax3.set_xlabel('humidity',color='black',fontsize=15)
ax3.set_ylabel('count',color='black',fontsize=15)ax1.tick_params(colors='black',labelsize=10, labelcolor='black')
ax2.tick_params(colors='black',labelsize=10, labelcolor='black')
ax3.tick_params(colors='black',labelsize=10, labelcolor='black')

  • 气温在20-30摄氏度之间最适合共享单车的使用,气温较低时人们较少骑车出行
  • 风速越大人们越少使用单车
  • 湿度太大(下雨)或者湿度太小(干燥)都会影响单车的使用

4.天气,节假日

#先对数据做映射处理:
total_set['weather'] = total_set.weather.map({1:'sunny',2:'cloudy',3:'rainly',4:'bad-weather'})
total_set['holiday'] = total_set.holiday.map({0:'non-holiday',1:'holiday'})
total_set.head()

weather_count = total_set.groupby(['weather'])['count'].sum()
weather_count.head()
weather_count.plot.bar()

可以看出,晴天单车出行人数最多,恶劣天气很少人使用共享单车

#绘制工作日,非工作日与租车量的折线图
workingday=total_set[total_set['workingday']==1]
workingday = workingday.groupby(['hour'], as_index=True).agg({'count':'mean'})nworkingday=total_set[total_set['workingday']==0]
nworkingday = nworkingday.groupby(['hour'], as_index=True).agg({'count':'mean'})fig, axes = plt.subplots(1, 2)workingday.plot(figsize=(15,5),title = 'The average demand per hour in the working day',ax=axes[0])
nworkingday.plot(figsize=(15,5),title = 'The average demand per hour in the nonworkdays',ax=axes[1])

  • 相比于工作日,人们在节假日的出行集中在白天(8点到20点)
  • 非工作日共享单车出行高峰大约在12点到13点之间

六、总结:

1.理解数据很重要,弄清楚了数据类型之后才方便对数据进行相关处理。在本次分析过程中,一共处理了两种数据类型,第一种是时间,原始数据当中的时间是年月日小时这种格式,但是在分析过程因为要考虑一天中各个时间段的单车使用情况,还要考虑月份和季度对租车的影响,所以将时间拆分成了年,月,日,小时;第二种类型是有不同选项的数据,比如节假日,工作日,以及天气这些,原始数据中都是数字,所以在进行数据处理的时候我们将这些数字映射成了相应的选项,这样在进行绘图分析的时候会清晰很多。

2.在呈现各个影响因素与租车量之间的关系时,可以选择不同的图表来展示。在分析每个季度,每个月,每一天的各个时间段里单车使用量的时候,折线图或者条形图能清楚呈现租车人数的差异和波动情况;在考虑温度、湿度这些具体数值的影响时,散点图能比较好的展示出分散变量的相关关系。

共享单车数据集_共享单车数据可视化分析相关推荐

  1. 共享单车数据集_共享单车数据可视化报告

    1.1 项目说明 自行车共享系统是一种租赁自行车的方法,注册会员.租车.还车都将通过城市中的站点网络自动完成,通过这个系统人们可以根据需要从一个地方租赁一辆自行车然后骑到自己的目的地归还.为了更好地服 ...

  2. 共享单车数据集_共享单车项目数据可视化展示

    共享单车项目数据可视化展示 1. 数据收集 https://www.kaggle.com/c/bike-sharing-demand/data 1.1 数据说明及问题分析 数据内容包括两年内的每小时租 ...

  3. 熊猫数据集_对熊猫数据框使用逻辑比较

    熊猫数据集 P (tPYTHON) Logical comparisons are used everywhere. 逻辑比较随处可见 . The Pandas library gives you a ...

  4. 数据可视化分析票房数据报告_票房收入分析和可视化

    数据可视化分析票房数据报告 Welcome back to my 100 Days of Data Science Challenge Journey. On day 4 and 5, I work ...

  5. camunda流程定义表无数据_【经验】数据可视化分析操作指南

    昨天勾妹给大家分享了数据可视化分析的建设目标,今天聊聊如何去实现这个目标--方法体系及操作流程. 数据可视化分析方法论结构图 方法体系 数据可视化分析方法体系图 数据可视化分析的常用工作方法包括专家法 ...

  6. 熊猫数据集_熊猫迈向数据科学的第一步

    熊猫数据集 I started learning Data Science like everyone else by creating my first model using some machi ...

  7. 数据图表与分析图_史上最全最实用的数据可视化分析图表制作工具汇总

    俗话说的好:工欲善其事,必先利其器!一款好的工具可以让你事半功倍,尤其是在大数据时代,更需要强有力的工具通过使数据有意义的方式实现数据可视化,还有数据的可交互性;我们还需要跨学科的团队,而不是单个数据 ...

  8. SQL数据集支持数据参考功能,新增飞书、钉钉、企业微信平台接入支持,DataEase开源数据可视化分析平台v1.15.0发布

    10月10日,DataEase开源数据可视化分析平台正式发布v1.15.0版本. 在这一版本中,DataEase对数据源和数据集两个板块的交互进行了全面优化:数据集方面,SQL数据集新增数据参考功能, ...

  9. 智慧零售数据可视化分析_零售行业大数据分析应用

    今年的双11和往年相比似乎有一点冷清,各大电商平台在数据披露上都低调了起来.在这样的氛围下,各位电商运营更要自己"支楞起来",用心做好自家活动的复盘总结. 这个时候数据分析的技能就 ...

  10. Tableau数据分析数据可视化分析平台

    Tableau数据分析&数据可视化分析平台 ​ 本文章内涉及的资源包以及素材均来自于互联网,仅供大家用来交流学习与研究使用,努力提升自己的一篇文章.各类安装包以及素材版权归属原版权方所有,版权 ...

最新文章

  1. EOS 消息设计(2)并行处理
  2. python分割数字_python实现整数拆分,输出拆分序列
  3. javascript span ie 与FF
  4. 七牛云上传视频如何有效做到节省空间
  5. java开发技术心得_Java开发核心技术面试心得分析
  6. 分享:从功能增强说起
  7. java date nov_Java DateTime格式为此
  8. java中方法重载和重写的区别
  9. mac双系统w ndows8,Mac安装win8.1双系统多个分区教程
  10. 微信小程序之问卷调查
  11. SpringBoot banner更改
  12. 在conda虚拟环境中配置cuda+cudnn+pytorch深度学习环境(新手必看!简单可行!)
  13. 华强北再也没法生产散装 iPhone 了
  14. 【网络入门】详解常用的基础网络知识(面试笔试常考内容)
  15. HDU 献给杭电五十周年校庆的礼物
  16. 一篇文章说清Python数据分析,这个学习路线绝了
  17. c语言学习日志 day4
  18. pyautogui.screenshot()详解
  19. 零基础学图形学(8) 几何知识——点和向量的变换
  20. 智能小区物业管理系统

热门文章

  1. 华为服务器维修期,拆看一台1U华为服务器RH1288 V2-8S
  2. js自动触发按键操作
  3. linux ftps ftp,Linux下ftp+SSL实现ftps
  4. 潜伏多年的中文编程语言该不该发展起来(科技无国界,呵呵)
  5. 高等数学张宇18讲 第三讲 一元函数微分学的概念与计算
  6. 手机投屏到电脑完美教程,安卓和苹果用户均可使用
  7. 深度学习软件安装及环境配置(Win10)
  8. 机器学习评价指标 ROC与AUC 的理解和python实现
  9. 图像检索:基于内容的图像检索技术
  10. linux addr2line 用法,addr2line的用法