Udacity数据分析(入门)-探索美国共享单车数据

概述

利用 Python 探索与以下三大美国城市的自行车共享系统相关的数据:芝加哥、纽约和华盛顿特区。编写代码导入数据,并通过计算描述性统计数据回答有趣的问题。写一个脚本,该脚本会接受原始输入并在终端中创建交互式体验,以展现这些统计信息。

自行车共享数据

在过去十年内,自行车共享系统的数量不断增多,并且在全球多个城市内越来越受欢迎。自行车共享系统使用户能够按照一定的金额在短时间内租赁自行车。用户可以在 A 处借自行车,并在 B 处还车,或者他们只是想骑一下,也可以在同一地点还车。每辆自行车每天可以供多位用户使用。

由于信息技术的迅猛发展,共享系统的用户可以轻松地访问系统中的基座并解锁或还回自行车。这些技术还提供了大量数据,使我们能够探索这些自行车共享系统的使用情况。

在此项目中,你将使用 Motivate 提供的数据探索自行车共享使用模式,Motivate 是一家入驻美国很多大型城市的自行车共享系统。你将比较以下三座城市的系统使用情况:芝加哥、纽约市和华盛顿特区。

数据集

提供了三座城市 2017 年上半年的数据。三个数据文件都包含相同的核心六列:

起始时间 Start Time(例如 2017-01-01 00:07:57)
结束时间 End Time(例如 2017-01-01 00:20:53)
骑行时长 Trip Duration(例如 776 秒)
起始车站 Start Station(例如百老汇街和巴里大道)
结束车站 End Station(例如塞奇威克街和北大道)
用户类型 User Type(订阅者 Subscriber/Registered 或客户Customer/Casual)
芝加哥和纽约市文件还包含以下两列(数据格式可以查看下面的图片):

性别 Gender
出生年份 Birth Year

问题

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

项目代码

导入库及数据集

import time
import pandas as pd
import numpy as np

CITY_DATA = {
    'chicago': 'chicago.csv',
              'new york city': 'new_york_city.csv',
              'washington': 'washington.csv' }

输入函数

def input_mod(input_print,enterable_list):
    """
    Simplify code when user choose cities or months data
    Arg:
        (str) input_print - asking questions
        (str) enterable_list - find list(cities or months)
    Return:
        (str) ret- return user's choice about city, month or day
    """
    while True:
        ret = input(input_print).title()
        if ret in enterable_list:
            return ret.lower()
            break
        print('Sorry, please enter {}.'.format(enterable_list))  

选取数据集

def see_datas(data):
    """
    User choose a data to input.
    Arg:
        (str) data - choose a data to input(cities,months,days)
    Return:
        (str) city, month or day - return user's choice about city, month or day
    """
    #bulid lists and dictionary( cities, months and days) for user to search data 
    cities=['Chicago','New York City','Washington']
    months =['January', 'February', 'March', 'April', 'May', 'June']
    days={
   '1':'Sunday', '2':'Monday', '3':'Tuesday', '4':'Wednesday', '5':'Thursday', '6':'Friday', '7':'Saturday'}
    while True:
        #get user input about cit
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值