hadoop共享单车实训 共享单车数据集_共享单车数据集


一、数据来源

该项目数据来自Motivate提供的共享自行车数据。这个项目将会比较三座城市的共享自行车使用情况,这三座城市是芝加哥、纽约市和华盛顿特区。

Motivate 是一家入驻美国很多大型城市的自行车共享系统。

二、数据集介绍

数据集包含三座城市2017年上半年的数据,有相同的六列核心索引:

  • 起始时间 Start Time
  • 结束时间 End Time
  • 骑行时长 Trip Duration
  • 起始车站 Start Station
  • 结束车站 End Station
  • 用户类型 User Type

芝加哥和纽约市的文件中还包含以下两列索引:

  • 性别 Gender
  • 出生年份 Birth Year

数据来源Divvy System Data | Divvy Bikes、System Data | Capital Bikeshare、Citi Bike System Data | Citi Bike NYC。

三、提出问题

  • 起始时间(Start Time 列)中哪个月份最常见?
  • 起始时间中,一周的哪一天(比如 Monday, Tuesday)最常见?
  • 起始时间中,一天当中哪个小时最常见?
  • 总骑行时长(Trip Duration)是多久,平均骑行时长是多久?
  • 哪个起始车站(Start Station)最热门,哪个结束车站(End Station)最热门?
  • 哪一趟行程最热门(即,哪一个起始站点与结束站点的组合最热门)?
  • 每种用户类型有多少人?
  • 每种性别有多少人?
  • 出生年份最早的是哪一年、最晚的是哪一年,最常见的是哪一年?

Python Documentation contents方法说明书
Python 风格指南 - 内容目录

四、Python数据分析操作

这里使用Jupyter Notebook进行编程和运行,准备好要分析的CSV数据文件,三个文件,分别为chicago.csv, new_york_city.csv, washington.csv。

1.理解数据

  • 此数据集中有哪些列?
  • 是否有缺失值?
  • 每一列中有哪些不同类别的值?


hadoop共享单车实训 共享单车数据集_Time_02

以chicago.csv为例,这里可以看出数据有哪些列,那些地方有缺失值,每列的数据类型是什么


2.数据预处理


hadoop共享单车实训 共享单车数据集_共享单车数据集_03


3.定义交互界面函数,使用户可以输入数据,并对输入值进行过滤


hadoop共享单车实训 共享单车数据集_共享单车数据集_04


4.定义加载数据的函数


hadoop共享单车实训 共享单车数据集_共享单车数据集_05


5.定义读取时间相关信息的函数


hadoop共享单车实训 共享单车数据集_System_06


6.定义读取站点相关信息的函数


hadoop共享单车实训 共享单车数据集_hadoop共享单车实训_07


7.定义读取骑行时间相关信息的函数


hadoop共享单车实训 共享单车数据集_数据_08


8.定义读取用户相关信息的函数


hadoop共享单车实训 共享单车数据集_共享单车数据集_09


9.最后定义主函数


hadoop共享单车实训 共享单车数据集_System_10


五、结果验证

经过以上步骤就可以探索这3个城市的数据了。

这里我们输入纽约市作为例子:


hadoop共享单车实训 共享单车数据集_Time_11


hadoop共享单车实训 共享单车数据集_Time_12


通过输出的结果我们可以了解到,纽约市Motivate共享单车在2017年上半年:

  • 在6月份被使用的最多;
  • 在星期3被使用的最多;
  • 在每天的17:00被使用的最多;
  • Pershing Square North是被使用最多的出发站和终点站;
  • E 7 St & Avenue A -> Cooper Square & E 7 St 是最常被使用的路线;
  • 用户总骑行时间为300000秒, 约83.3小时;
  • 用户平均骑行时间为899.68秒,约15分钟;
  • 注册用户有269149人;
  • 游客用户有30159人;
  • 男性用户有204008人;
  • 女性用户有66783人;
  • 最大年龄用户出生年为1885年;
  • 最小年龄用户出生年为2001年;
  • 用户平均出生年为1989年。