一、项目背景
共享单车是指企业在校园、地铁站点、公交站点、居民区、商业区、公共服务区等提供自行车单车共享服务,是一种分时租赁模式,是一种新型绿色环保共享经济。
共享单车系统是一种租赁自行车的方法,注册会员、租车、还车都将通过城市中的站点网络自动完成。使用共享单车,可以注册会员,存入一定金额用于使用结束后自动扣费结算;也可以不注册会员,临时使用后通过其提供的支付方式结算费用。人们通过下载APP使用这个系统进行扫码开锁取车,然后从取车地骑到自己的目的地后停放锁车归还,系统自动按实际使用时长计费。
共享单车是近年来流行起来的新兴产业,发展具有重要价值通过对租车数据进行统计以及可视化分析,对单车运营维护团队提出改善性意见
二、项目分析具体步骤
#导入工具包
import datetime
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from pyecharts.charts import *
import pyecharts.options as opts
from pyecharts.faker import Faker
#读入数据
data = pd.read_csv('/home/kesci/input/first_dataset1318/train.csv')
data.head()
0 2011-01-01 00:00:00 1 0 0 1 9.84 14.395 81 0.0 3 13 16
1 2011-01-01 01:00:00 1 0 0 1 9.02 13.635 80 0.0 8 32 40
2 2011-01-01 02:00:00 1 0 0 1 9.02 13.635 80 0.0 5 27 32
3 2011-01-01 03:00:00 1 0 0 1 9.84 14.395 75 0.0 3 10 13
4 2011-01-01 04:00:00 1 0 0 1 9.84 14.395 75 0.0 0 1 1
数据预处理和特征提取
#数据预处理
data['season'] = data['season'].map({
1:'spring',2:'summer',3:'fall',4:'winner'})
data['weather'] = data['weather'].map({
1:'Good',2:'Normal',3:'Bad',4:'ver Bad'})
#特征衍生
data['datetime'] = pd.to_datetime(data['datetime'])
data['year'] = data.datetime.apply(lambda d:d.year)
data['month'] = data.datetime.apply(lambda d:d.month)
data['day'] = data.datetime.apply(lambda d:d.day)
data['hour'] = data.datetime.apply(lambda d:d.hour)
data['minute'] = data.datetime.apply(lambda d:d.minute)
data.head()
三、数据可视化
标签特征的整体分布
#标签特征的整体分布
sns.set_style('ticks')
plt.figure(figsize=(10,6))
sns.kdeplot(data['count'])
sns.despine(left=True)
plt.grid(linestyle='--',alpha=0.5,axis='y')
plt.title('Demand Distribution',fontsize=15)
plt.xlabel('Demand',fontsize=13)
plt.ylabel('Frequence',fontsize=13)
时间维度看需求趋势(月份维度)
#时间维度看需求趋势
#月份维度 数据含括了两年的跨度,因此按年分分开绘制每月的骑行需求
Month_tendency_2011 = data[data['year'] == 2011].groupby('month')[['casual','registered','count']].sum()
Month_tendency_2012 = data[data['year'] == 2012].groupby('month')[['casual','registered','count']].sum()
#绘制图像
fig,[ax1,ax2] =