膜拜共享单车数据分析

数据:2017年5月两周内,北京40余万辆摩拜单车被30余万摩拜用户的使用情况(该开源数据来源于2017年摩拜算法挑战赛)。数据包含300余万条出行记录数据,每条的数据包含了订单号(orderid )、用户编号(userid )、单车编号(bikeid)、单车类(biketype)、开始使用单车时间(starttime)、使用起点坐标(startloc)和使用终点坐标(endloc),其中起点和终点坐标经过了geohash加密(数据考虑到各方面原因,就不放出来了)

代码:

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

import pandas as pd
import geohash

#读取
data=pd.read_csv(r'mobike_train_data.csv',sep=',')

#日期格式处理
data.starttime=data.starttime.astype('str')
data.starttime=pd.to_datetime(data.starttime,format='%Y-%m-%d %H:%M:%S')
data=data.dropna()#缺失值删除

#geohash解码
data["start_lat_lng"] = data["geohashed_start_loc"].apply(lambda s: geohash.decode(s))   
data["end_lat_lng"] = data["geohashed_end_loc"].apply(lambda s: geohash.decode(s))


#筛选14-24号的数据
data_14=data.loc[data.starttime<='2017-05-14 23:59:59']
data_15=data.loc[(data.starttime<='2017-05-15 23:59:59')&(data.starttime>'2017-05-14 23:59:59')]
data_16=data.loc[(data.starttime<='2017-05-16 23:59:59')&(data.starttime>'2017-05-15 23:59:59')]
#data_17=data.loc[(data.starttime<='2017-05-17 23:59:59')&(data.starttime>'2017-05-16 23:59:59')]
#17号数据是空的
data_18=data.loc[(data.starttime<='2017-05-18 23:59:59')&(data.starttime>'2017-05-17 23:59:59')]
data_19=data.loc[(data.starttime<='2017-05-19 23:59:59')&(data.starttime>'2017-05-18 23:59:59')]
data_20=data.loc[(data.starttime<='2017-05-20 23:59:59')&(data.starttime>'2017-05-19 23:59:59')]
data_21=data.loc[(data.starttime<='2017-05-21 23:59:59')&(data.starttime>'2017-05-20 23:59:59')]
data_22=data.loc[(data.starttime<='2017-05-22 23:59:59')&(data.starttime>'2017-05-21 23:59:59')]
data_23=data.loc[(data.starttime<='2017-05-23 23:59:59')&(data.starttime>'2017-05-22 23:59:59')]
data_24=data.loc[(data.starttime<='2017-05-24 23:59:59')&(data.starttime>'2017-05-23 23:59:59')]

#统计14号数据
bike_count_14=data_14['bikeid'].value_counts()
user_count_14=data_14['userid'].value_counts()

#时间分区间统计
bin=pd.date_range(start='2017-05-14 00:00:00',end='2017-05-15 00:00:00',freq='0.5H')
data_scattertime=pd.cut(data_14['starttime'],bin)
scattertime_count=data_scattertime.value_counts(sort=False)
scattertime_count.plot(kind='line')

 14号的分时间段的订单量结果图:膜拜共享单车数据分析_第1张图片

你可能感兴趣的:(数据挖掘专栏)