一、数据来源
该项目数据来自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.理解数据
- 此数据集中有哪些列?
- 是否有缺失值?
- 每一列中有哪些不同类别的值?
以chicago.csv为例,这里可以看出数据有哪些列,那些地方有缺失值,每列的数据类型是什么
2.数据预处理
3.定义交互界面函数,使用户可以输入数据,并对输入值进行过滤
4.定义加载数据的函数
5.定义读取时间相关信息的函数
6.定义读取站点相关信息的函数
7.定义读取骑行时间相关信息的函数
8.定义读取用户相关信息的函数
9.最后定义主函数
五、结果验证
经过以上步骤就可以探索这3个城市的数据了。
这里我们输入纽约市作为例子:
通过输出的结果我们可以了解到,纽约市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年。