精华内容
下载资源
问答
  • 共享单车数据

    2019-03-12 11:35:33
    包含2017年上海地区摩拜单车8月份共享单车数据集,用来做大数据实验分析,等研究。
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-1.zip上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-1.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-7.zip上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-7.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-6.zip上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-6.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-5.zip上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-5.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-4.zip上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-4.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-3.zip上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-3.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-2.zip上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-2.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-10.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-14.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-12.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-11.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-9.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-8.zip
  • 上海市2018年共享单车数据wgs84坐标系8月份到9月份共享单车数据-13.zip
  • 我们借分析国外共享单车数据,看看是否能为我们国内的共享单车市场指明一条道路。1.收集数据数据下载自KaggleBike Sharing Demand | Kaggle​www.kaggle.com1.1 项目说明Bike sharing systems are a...

    a35e7fb3176961c434fedc6c30ccd594.png

    2018年资本寒冬,两大单车巨头,一家易主一家欠债,虽然共享单车给我们带来了不少便利,但是扣除资本的风头,共享单车该如何继续走下去。我们借分析国外共享单车的数据,看看是否能为我们国内的共享单车市场指明一条道路。

    1.收集数据:

    数据下载自Kaggle

    Bike Sharing Demand | Kaggle​www.kaggle.com

    1.1 项目说明

    Bike sharing systems are a means of renting bicycles where the process of obtaining membership, rental, and bike return is automated via a network of kiosk locations throughout a city. Using these systems, people are able rent a bike from a one location and return it to a different place on an as-needed basis. Currently, there are over 500 bike-sharing programs around the world. The data generated by these systems makes them attractive for researchers because the duration of travel, departure location, arrival location, and time elapsed is explicitly recorded. Bike sharing systems therefore function as a sensor network, which can be used for studying mobility in a city. In this competition, participants are asked to combine historical usage patterns with weather data in order to forecast bike rental demand in the Capital Bikeshare program in Washington, D.C.

    1.2 数据内容说明

    比赛提供了跨越两年的每小时租赁数据,包含天气信息和日期信息,

    训练集由每月前19天的数据组成,测试集是每月第二十天到当月底的数据。

    1.3 提出问题

    使用可视化方式显示数据特性

    1.4 变量说明

    caf86fe2c310003c1be272a7db09d656.png

    datetime 日期+时间 数据格式:2011/1/1 00:00:00

    season 季节 (1代表春天、2代表夏天、3代表秋天、4代表冬天)

    holiday 节假日 是否节假日

    workingday 工作日 是否工作日(非周末、非节假日)

    weather 天气

    (1: Clear, Few clouds, Partly cloudy, Partly cloudy 1、晴朗,少云,晴间多云,部分多云

    2: Mist + Cloudy, Mist + Broken clouds, Mist + Few clouds, Mist 2、薄雾+多云,薄雾+裂云,薄雾+少云,薄雾

    3: Light Snow, Light Rain + Thunderstorm + Scattered clouds, Light Rain + Scattered clouds 3、小雪,小雨+雷暴+散云,小雨+散云

    4: Heavy Rain + Ice Pallets + Thunderstorm + Mist, Snow + Fog 4、大雨+冰托+雷暴+雾,雪+雾)

    temp 温度(单位:摄氏度)

    atemp 感知温度(单位:摄氏度)

    humidity 相对湿度

    casual - 非注册用户个数

    registered - 注册用户个数

    count - 给定日期时间(每小时)总租车人数

    2.准备数据:

    2.1导入数据

    13de2f0e4d4b61412e58f9b6ea2798ca.png

    541c4b250c50e45c5e5f8fbdda47cfc4.png

    2.2 检查并处理异常值

    659e65d3cb19d4ec38d2d9e41bc8c622.png

    3.数据清洗

    3.1数据预处理

    由于该数据集不存在缺失值,故无需处理

    3.2特征工程

    将datetime列分为单独的时间列

    546993ccb3b853e26a54450f31bf39e3.png

    分别查看租赁数量及相关因素(temp(温度),atemp(体感温度),humidity(湿度),windspeed(风速))的分布情况

    75831892844805ca18d29322f68fdc5e.png

    124671b5099f7bcac7d3634989d89709.png

    5118df5004c91537c2a65cd1a20936e3.png

    4.分析

    4.1相关性分析

    24722609dbeb50d49d265fc6b75b32f5.png

    c5dce6033f8423424765e6699b00f41f.png

    count与注册会员、非注册会员、时间、温度、感知温度相关性较强

    可以看出特征值对租赁数量的影响力度为,时段>温度>湿度>年份>月份>季节>天气等级>风速>星期几>是否工作日>是否假日 接下来再看一下共享单车整体使用情况。

    ebf5719f7ee193d0e1276dc31e07d644.png

    afd6f1ed431f5d408b364c26491d871b.png

    从总体数据分析来看,注册会员和非注册会员的总体趋势和走势相当。
    只有工作日,注册会员与非注册会员区别较大。注册会员在工作日的使用量比非工作日的多,非注册会员在非工作日的使用量比工作日的多。

    4.2日期和时间的影响4.2.1不同年份

    2dda90fef9736ddca5f6c6ab1a260e77.png

    结论:不管是注册用户还是非注册用户,2012年共享单车的租赁数量明显超过了2011年的数量,可以说明大众对于共享单车接纳程度在逐步提升。

    4.2.2不同月份

    ea7c5a8b5720dd71ad313e9af89ef64c.png

    结论:总体上看无论是2012年还是2011年,每个月的变化趋势大致一致,租赁数量在4月-10月份呈现高值,分析原因可能是这几个月天气较好,温度适宜,大众选择使用单车出行。会员与非会员之间存在一定差别,同时2011和2012年最高点在不同月份。

    4.2.3工作日和节假日的对比

    4.2.3.1工作日和非工作日在每个时间段平均数上的对比

    02c2ed4e83c1fcabe47d5197c1ea10e2.png

    4.2.3.2工作日和节假日在每个时间段平均数上的对比

    a090b9b1b9a4b3482a5553289afc4973.png

    工作日会出现明显的早高峰、晚高峰,非工作日和节假日主要体现在中午出现一定的流量。节假日会出现晚归高峰段。

    4.2.4时间段的对比

    b434152975d9d962d2d4d9a7badfb7a6.png

    会员在使用时间上有明显的区别,在上下班高峰期使用量大,非会员使用时间较为平滑。

    4.3其他因素分析4.3.1 温度因素

    09a3df9275e9df9686eea93f34fed2c2.png

    110589f955c52451397b6750942edbd3.png

    4.3.1 感知温度因素

    8b4d83c485488b369760a27d9473bffd.png

    5140a166c957f9922b89f3e9e194a82c.png

    实际温度和感知温度在整体数据上差异不大,感知温度的波动相对较大,可能受到其他气候因素影响。

    eb1b73a6e772240e55c9111e8f4fb6e9.png

    335b917d8c835f445c82b3ba21b2d0d0.png

    实际温度和感知温度的租赁最高峰不同,一个在36摄氏度,一个在40摄氏度。看来验证了上面的分析,其他因素也会和温度一起对租赁数进行影响。

    4.3.2 天气状况因素

    689c4fe161fff37df1c1c19a3fac6c6e.png

    5523e053cc6ae51e43a03f036f38e3e4.png

    不同的天气状况对租赁均有影响。有个异常现象,我们往往认为恶劣天气会减少租赁数,但上图显示数据是在小雪、小雨状况下租赁数最少,最恶劣天气下租客并不是最少。

    4.3.3 湿度因素

    6019ead1f98f554d74fc4e906993b415.png

    4b84e8aee957b62985898a477263e0e3.png

    观察一下租赁人数随湿度变化趋势,按湿度对租赁数量取平均值。

    46566382463f5e56eb235e7cf9cc27b6.png

    可见湿度在20%左右是租赁的最高峰。

    d89d648c2f9f575383e9d74185ad1b5e.png

    71e45483f5cda73770f19e8ad5115ff8.png

    通过本次的学习,我基本掌握了柱状图、折线图、箱式图的绘制,也为数据可视化的学习走出第一步。

    这个课程我大概拖延了快半年,这个学期我学习了数据模型和数据分析其实相辅相成。让我对数据分析更加深入了解,也会加快后期学习。我要通过寒假,快速完成所有数据分析课程,也找一个新的方向更加深入学习。

    展开全文
  • (原本这个项目的目的是预测华盛顿地区的共享单车的租赁需求量,在这里我们主要任务是将共享单车数据进行可视化分析,不着重选择合适的机器学习模型来预测需求量。)三、理解数据:import pandas as pd import n.....

    9adc03748dbe97469116ad414e28f105.png

    一、数据来源:

    Bike Sharing Demand | Kaggle​www.kaggle.com

    二、提出问题:

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

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

    三、理解数据:

    5c674877cb68cd8a8f16c64a646d06bf.png
    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()                                    

    840b77d62962e95ad8f8d53820413509.png

    74670cd3fb6b3f43401bc36bc43424aa.png

    四、清洗数据:

    # 从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()

    9210eacf703bfc13d04aebb16c2b71e8.png

    五、分析数据:

    相关系数热图:

    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()

    9b8bc048dbd88cf972ddef4ce62e3da7.png

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

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

    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)

    630e8b3fc68ac9ad9465d694a58c17de.png
    • 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)

    8ae966ab9e7999b69e1ff78168fbaa77.png
    • 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')

    b80bc398795127b2bd4e2431873072b3.png
    • 气温在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()

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

    33d7f041e4bbd67d1b740ad882564fcb.png

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

    #绘制工作日,非工作日与租车量的折线图
    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])

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

    六、总结:

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

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

    展开全文
  • 单车数据 Bike Sharing Demand | Kaggle​www.kaggle.com在分析问题前,利用之前学过的Excel数据处理方法对获得的数据进行简单清洗,包括删除重复值:全选唯一列,数据--删除重复值查看并处理缺失值:选中一列--开始...

    24d464e9b516a8f21db6d6b9930663f5.png

    单车数据

    Bike Sharing Demand | Kaggle​www.kaggle.com

    在分析问题前,利用之前学过的Excel数据处理方法对获得的数据进行简单清洗,包括

    删除重复值:全选唯一列,数据--删除重复值

    查看并处理缺失值:选中一列--开始--查找和选择--定位条件--空值,如果缺失值少,可以使用人工补全,如果较多,可以ctrl+enter补全所有

    格式统一:一个单元格有多个描述,可以使用 数据--分列--选择分隔符--成功啦

    提取关键数据:如12k-20k,分别提取12和20

    提取12:插入函数 LEFT(N3,FIND("k",N3)-1)

    提取20:MID(N2,FIND("-",N2)+1,LEN(N2)-FIND("-",N2)-1)

    • find(要查的字符串,单元格位置)
    • left/right(单元格位置,开始截取的位置)
    • mid(单元格位置,开始位置,截取长度)

    查看异常值:数据--数据验证--设置条件


    一、 提出问题

    根据过去共享单车的租赁情况,预测华盛顿地区自行车项目的租赁状况

    二、理解数据

    在Kaggle项目中下载的文件有三个,分别是训练数据(train)、测试数据(test)和案例提交的数据模板(sampleSubmission)。

    1导入数据并查看相关数据信息

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt 
    train = pd.read_csv("./train.csv")   #该train.csv文件需要和本。py文件在一个目录下
    test = pd.read_csv("data/test.csv")  #文件路径从该py文件开始往后
    print("训练数据集:",train.shape,"测试数据集:",test.shape)
    train.head()
    test.head()

    659d9e313be002d0aca2732de01a8ca0.png

    2 分析各字段的含义

    • datetima:日期+时间
    • season: 1-春天 2-夏天 3秋天 4-冬天
    • holiday: 节日
    • workingday:既不是周末也不是节假日,1-工作日 2-休息日
    • weather: 1-晴天微风多云 2-薄雾多云 3-小雪小雨有雷有云 4-大雨雷雨多雾雨雪天气
    • temp:温度
    • atemp:对温度的舒适感
    • humidity:相对湿度
    • windspeed:风速
    • casual:新注册用户租车数量
    • registered:注册用户租车数量
    • count:租赁总数 (给定日期时间每小时总租车人数)

    3 两个数据集合并&查看缺失值

    #合并数据集:为了同时清洗两个数据集
    full = train.append(test,ignore_index = True)
    print("合并后的数据集:",full.shape)  
    #查看缺失数据
    full.info()   #无缺失数据

    8155c57cd9532fc568c40dd42263363f.png

    三、数据清洗

    1.数据预处理

    因为没有缺失值,基本不需要做缺失值处理

    2 特征工程

    对字段分析类型,只需要对时间datetime做分离,分为月,日,小时,星期。

    f0f632ec4bc2846d269c32891a9f2089.png
    #先备份测试数据集
    bikeDf=full
    from datetime import datetime
    #月份
    def get_month(x):
        dateStr = x.split()[0]   #取字符串,默认使用空格分隔,取第0个部分,就是取前面的日期
        date = datetime.strptime(dateStr,"%Y-%m-%d")    #注意month要小写%m,否则会出错
        month = date.month
        return month
    bikeDf['month'] = bikeDf.datetime.apply(get_month)
    bikeDf.head()
    #日
    def get_day(x):
        dateStr = x.split()[0]   #取字符串,默认使用空格分隔,取第0个部分,就是取前面的日期
        date = datetime.strptime(dateStr,"%Y-%M-%d")
        day = date.day
        return day
    bikeDf['day'] = bikeDf.datetime.apply(get_day)
    bikeDf.head()
    #星期
    def get_weekday(x):
        dateStr = x.split()[0]   #取字符串,默认使用空格分隔,取第0个部分,就是取前面的日期
        dateDt = datetime.strptime(dateStr,"%Y-%M-%d")
        weekday = dateDt.weekday()   #这里要加括号
        return weekday
    bikeDf['weekday'] = bikeDf.datetime.apply(get_weekday)
    bikeDf.head()
    #小时
    def get_hour(x):
        hours= x.split()[1].split(":")[0]
        hour = int(hours)
        return hour
    bikeDf['hour'] = bikeDf.datetime.apply(get_hour)
    bikeDf.head()

    ef447c3694dba4380fb88681fbf9003e.png
    #删去datetime列,inplace=True表示不创建新对象,直接对原始对象进行修改
    bikeDf.drop('datetime',axis=1,inplace=True)  
    #bikeDf.drop('casual',axis=1,inplace=True)    #可以选择性删除casual和registered
    #bikeDf.drop('registered',axis=1,inplace=True)  #因为count = casual + registered
    bikeDf.head(2)

    3.特征选择

    #特征的选择  使用相关性矩阵
    corrDf = bikeDf.corr()
    #查看各个特征生成情况(count租赁总数)的相关系数,并使用降序
    corrDf['count'].sort_values(ascending = False)
    #分析:由于count = registered + casual 所以,暂时忽略这两个特征的影响

    2ce8284e9087012c3ef3d53d19d6baa3.png
    • 分析:租车数量count与小时、温度成正比,与湿度成反比。

    4 租车人数在各分类变量下的箱线图

    fig,axes = plt.subplots(4,2)   
    #设置标题
    fig.suptitle("共享单车箱线图",fontsize=20,fontweight="bold")
    sns.set(style='darkgrid')
    fig.set_size_inches(10, 18)
    #绘制箱线图
    ax1=sns.boxplot(data=source,y='count',orient='v',ax=axes[0][0])#count箱线图
    ax2=sns.boxplot(data=source,x='month',y='count',orient='v',ax=axes[0][1])#月
    ax3=sns.boxplot(data=bikeDf,x='weekday',y='count',orient='v',ax=axes[1][0])#星期
    ax4=sns.boxplot(data=source,x='hour',y='count',orient='v',ax=axes[1][1])#小时
    ax5=sns.boxplot(data=bikeDf,x='season',y='count',orient='v',ax=axes[2][0])#季节
    ax6=sns.boxplot(data=bikeDf,x='weather',y='count',orient='v',ax=axes[2][1])#天气
    ax7=sns.boxplot(data=source,x='workingday',y='count',orient='v',ax=axes[3][0])#工作日
    ax8=sns.boxplot(data=bikeDf,x='holiday',y='count',orient='v',ax=axes[3][1])#holiday
    
    axes[0][0].set( ylabel='Count',title="Box Plot On Count ")

    cc2f2a3809b4cf2b6924475d10a3bfaa.png

    c74ecd47fecf10d27cdc1286cce33cf0.png
    • 分析:6、7月租车数量最多;一周内每天的租赁数基本相同;每一天中z,8点x和17点租车数量最多,这两个阶段主要是早晚工作高峰期;夏秋两季适合租车;天气情况越好,租车人数r越多;工作日租车量比非工作日较多,但是与是否为节假日基本无关。

    5 温度,湿度,风速的影响

    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=bikeDf,ax=ax1)
    ax2=sns.regplot(x="windspeed", y="count", data=bikeDf,ax=ax2)
    ax3=sns.regplot(x="humidity", y="count", data=bikeDf,ax=ax3)

    917f5d2cc2eedcb6e7462472b8e218be.png
    • 分析:温度在20-30度之间,温度舒适时且天气晴朗风速较小,租车人数较多,在湿度大的情况,也会增加租车数量。

    6 每日租车的用户类型

    fig,(ax1,ax2,ax3,ax4)= plt.subplots(nrows=4)
    fig.set_size_inches(12,20)
    weekDict = {0:"Sunday",1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday"}
    #每天租车的不同用户类型
    hourTransformed = pd.melt(bikeDf[["hour","casual","registered"]], id_vars=['hour'], value_vars=['casual', 'registered'])
    houruserAggregated = pd.DataFrame(hourTransformed.groupby(["hour","variable"],sort=True)["value"].mean()).reset_index()
    sns.pointplot(x=houruserAggregated["hour"], y=houruserAggregated["value"],hue=houruserAggregated["variable"],
                   hue_order=["casual","registered"], data=houruserAggregated, join=True,ax=ax4)
    ax4.set(xlabel='hour', ylabel='count',label='big')

    7a5f99298432301b55212552499c6141.png
    • 分析:已注册用户租车量主要集中在上下班的早晚高峰期,而对于新注册用户,一整天内都有用户注册,而主要集中在下午的一段时间内。
    展开全文
  • 摩拜共享单车数据分析项目的数据、代码、图表,基于上海摩拜单车的2016年8月份随机抽样大约10万条的开放订单数据进行分析
  • 项目背景:提供两年的每...本次共享单车数据分析项目数据源于Kaggle [https://www.kaggle.com/c/bike-sharing-demand/data]。 1.2 载入数据 // 载入工具包 import numpy as np import pandas as pd import matplotlib.
  • Python共享单车数据分析代码.ipynb
  • 国内某共享单车数据集,内有两个csv文件,适合交通行业学生进行练手使用,科研价值或许不是很大,但是数据量不算小
  • 共享单车数据模型

    千次阅读 2019-05-09 21:44:55
    这是共享单车数据模型,里面都打了详细的注释,如果还不明白请私信我 本次使用的数据集来源于加利福尼亚大学欧文分校(UCI)大学的公开数据集:https://archive.ics.uci.edu/ml/dat asets/Bike+Sharing+Dataset,...

    这是我个人采集的一共共享单车的数据的分析
    这是共享单车数据模型,里面都打了详细的注释,如果还不明白请私信我

    本次使用的数据集来源于加利福尼亚大学欧文分校(UCI)大学的公开数据集:https://archive.ics.uci.edu/ml/dat
    asets/Bike+Sharing+Dataset,关于本次数据集的各种信息可以参考该网站,同时也可以直接从该网站下载和使用
    数据集。本次共享单车数据集包含有两个文件,一个是按天来统计的共享单车使用量数据,另一个是按照小时数来
    统计的使用量。
    说句题外话,这个共享单车数据集是在2011年至2012年间收集的,此处的共享单车是采用固定桩形式的单车,类
    似于中国的永安行,并不是我们目前所看到的满大街的小黄车,小蓝车,摩拜之类。
    下载后,将数据集解压到D:\PyProjects\DataSet\SharingBikes中。本数据集总共有17389个样本,每个样本有16
    列,其中,前两列是样本序号和日期,可以不用考虑,最后三列数据是不同类型的输出结果,最后一列是第十四列
    和第十五列的和,因此本模型中不考虑第十四列和第十五列

    下面主要数分析数据集的

    准备数据集

    import pandas as pd
    import numpy as np

    分析数据集,导入地址 首先分析day数据
    dataset_path = ‘F:\JupyterLab\day.csv’
    加载数据集
    raw_df = pd.read_csv(dataset_path,index_col=0)
    print(raw_df.shape) # shape 查看数据集几行几列,731行,15列
    print(raw_df.head()) # head()查看数据集是否正确加载
    print(raw_df.columns)

    删除不需要的列,第1,12,13列
    df = raw_df.drop([‘dteday’,‘casual’,‘registered’],axis=1)
    print(df.shape) # 现在删除成为 731行,12列
    print(df.head()) # 查看数据集有没有问题
    print(df.info()) # 没有缺失值 第一列为object,需要进行转换
    print(df.columns)

    分割数据集
    dataset = df.as_matrix() # 将pandas转化为np.ndarray

    将整个数据集分割成 train set 和 test set
    from sklearn.model_selection import train_test_split
    train_set,test_set = train_test_split(dataset,test_size=0.1,random_state=37)
    print(train_set.shape) # (657, 12) 训练集
    print(test_set.shape) # (74, 12) 测试集

    构建随机森林模型,并且绘图

    随机森林的 ‘随机’ ,至少包含了两个方面的含义,一个是训练样本的选择是随机且放回的
    另一个是特征的选择也是随机放回的 (也叫 ‘自助采样法’)

    尝试,没有对原始数据进行分析,也没有对数据集进行修改,之间使用随机森科回归模型进行拟合

    构建随机森林回归器模型
    from sklearn.ensemble import RandomForestRegressor
    rf_regressor = RandomForestRegressor()
    rf_regressor = RandomForestRegressor(n_estimators=1000,max_depth=10,min_samples_split=10)
    rf_regressor.fit(train_set[:,:-1],train_set[:,-1]) # 训练模型

    使用测试集来评价该回归模型
    predict_test_y = rf_regressor.predict(test_set[:,:-1])

    import sklearn.metrics as metrics
    print(‘均方误差MSE:{}’.format(round(metrics.mean_squared_error(predict_test_y,test_set[:,-1]),2)))
    print(‘解释方差分:{}’.format(round(metrics.explained_variance_score(predict_test_y,test_set[:,-1]),2)))
    print(‘R平方得分:{}’.format(round(metrics.r2_score(predict_test_y,test_set[:,-1]),2)))

    绘图包
    from matplotlib import pyplot as plt
    import matplotlib
    matplotlib.rcParams[‘font.sans-serif’] = [‘SimHei’]

    计算不同特征的相对重要性,绘图
    def plot_importances(feature_importances, title, feature_names):
    ‘’‘将feature_importance绘制到图表中,便于观察,
    并把重要性大于5的特征打印出来’’’
    # 将重要性都归一化为0-100之内
    feature_importances=100.0*(feature_importances/max(feature_importances))
    # ##将得分从高到低排序
    # (np.argsort:将矩阵a按照axis排序(默认升序),并返回排序后的下标 )
    # (np.flipud:矩阵上下翻转,np.fliplr:矩阵左右反转)
    index_sorted=np.flipud(np.argsort(feature_importances))
    # 让X坐标轴上的标签居中显示
    pos=np.arange(index_sorted.shape[0])+0.5
    # 画条形图
    plt.figure()
    plt.bar(pos,feature_importances[index_sorted],align=‘center’)
    plt.xticks(pos,feature_names[index_sorted])
    plt.ylabel(‘Relative Importance’)
    plt.title(title)

    # 把重要性结果打印出来
    print('{} importance list------>>>>>'.format(title))
    for importance,name in zip(feature_importances[index_sorted],feature_names[index_sorted]):
        if importance>5:
            print('feature:{}, importance: {:.2f}'.format(name,importance))
    

    绘图,columns列标签
    plot_importances(rf_regressor.feature_importances_,‘共享单车’,df.columns)

    展开全文
  • 共享单车数据十万条

    2018-12-20 08:43:38
    共享单车数据集,包括骑行时间、会员骑行时间、会员类型、骑行路线类别、开始时间、结束时间、开始站点、结束站点、经度纬度等等。
  • 地球资源有限,但是人类需求无限,城市规划专家意识到这一点,于是有了“智慧城市”这个新词汇,为了完成这个KPI考核,就需要对城市环境的各个方面进行测量,以实现最佳的资源利用、共享、规划、监测。年轻的测绘...
  • 一个著名的共享单车数据集,可以用来做神经网络分类器入门练习
  • 摩拜共享单车数据分析项目报告

    千次阅读 2020-09-29 21:23:39
    文章目录摩拜共享单车数据分析项目报告项目背景数据探索数据挖掘数据分析时间维度空间维度用户维度 摩拜共享单车数据分析项目报告 项目背景 随着智能手机的普及和手机用户的激增,共享单车作为城市交通系统的一个...
  • 共享单车项目数据可视化展示1. 数据收集https://www.kaggle.com/c/bike-sharing-demand/data1.1 数据说明及问题分析数据内容包括两年内的每小时租赁数据,包括有: datetime(日期时间) - hourly date + ...
  • 美国共享单车数据分析数据说明数据清洗空值删除数据类型转化统计值概览异常数据数据筛选新增小时、周、月纬度探索性分析数据概览数据异常分析bike_plan与会员关系小时、周、月纬度分析高峰时间骑行数据订阅会员分析...
  • kaggle共享单车租用数据,通过历史租车数据并结合天气数据来预测租车需求

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,679
精华内容 3,471
关键字:

共享单车数据