首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

摩拜共享单车数据分析项目数据、代码、图表

信息化管理 18.33MB 34 需要积分: 1
立即下载

资源介绍:

摩拜共享单车数据分析项目的数据、代码、图表,基于上海摩拜单车的2016年8月份随机抽样大约10万条的开放订单数据进行分析
摩拜共享单车数据分析项目报告
项目背景
数据探索
数据挖掘
数据分析
时间维度
空间维度
用户维度
项目背景
绿
保、便捷高效、经济环保为特征蓬勃发展。共享单车企业通过在校园、公交站点、居民区、公共服务区
等提供 务,完成交通行业最后一块 其他公共交通方式产生协同效应。共享单车有助于缓解
城市短 离交通出行和最后一公里题,但 享单车由于其运营特点,对企业在城市投放和调度单车
的规划管理方面,存在较大挑战。
基于上述景,本文于上海摩拜单20168份随机抽大约10条的放订单数进行分析
挖掘出数据背后的规律,用数据勾勒出摩拜共享单车的使用与用户出行现状,从而有助于摩拜共享单车
企业更好地推出营销策略,定位新单车的投放区域,调控车辆布置,更好地服务用户。
数据探索
这一步中我们统观数据的全貌,对数据有个大体的了解,对数据进行质量探索和特征分析。
读取数据并查看数据集数据
该数据集摩拜共享车企业提供的海城20168随机样的10多条户骑行用数据(订
数据),包含交易编号、用户ID、车辆ID、骑行起点经纬 、骑行终点经纬度、租赁时间、还车时间、
骑行轨迹经纬度等数据。
import pandas as pd
from math import radians, cos, sin, asin, sqrt,ceil
import numpy as np
import geohash
#数据读取
data = pd.read_csv("./mobike_shanghai_sample_updated.csv")
print(data.head(10))
查看据集性类,在里我可以出租时间还车间的 型为object类型我们接着
可以把它转化为datetime类型
print(data.info())
data['start_time'] = pd.to_datetime(data['start_time'])
data['end_time'] = pd.to_datetime(data['end_time'])
print(data.info())
查看数据集的空值分布情况,数据不存在空值
数据挖掘
该数据集虽然多达10万多条用车交易数据,但每一条用车交易数据里只有10个特征,并且该数据集和之
联,而该数据集的特征之间拥有明显的相关性,我们可以通过关联组合特征之间的关系得到新的特征,
或者从一个特征反映出来的多个方面组合出多个新的特征扩充数据集,掌握事物的多个方面,挖掘出数
据更多潜在的规律,从而使得后面的数据分析可以进行更多维度的分析,得到对数据的更多认识。
如何发现新特征:
1. 租赁时间 + 还车时间 => 骑行时长
2. 骑行起点经纬度 + 骑行终点经纬度 => 骑行的位移
3. 摩拜单车骑行轨迹经纬度 => 骑行的路径
4. 租赁时间 => 星期几(即每笔骑行订单发生 星期几 + 间段(即每笔订单发生在一天24小时的
个时间段)
5. 骑行时长 => 订单金额(粗略估计)
6. 每笔订单金额 + 每笔订单租赁时间 + 每笔订单用户ID=> 用户分级(RFM模型)
7. 骑行起点终点经纬度 => 骑行起点终点所处的地区
租赁时间 + 还车时间 => 骑行时长
新增“lag”列,通过开始时间 - 结束时间计算得到骑行时长,并把时长单位统一为分钟。
print(data.isnull().sum())
data["lag"] = (data.end_time - data.start_time).dt.seconds/60
骑行起点经纬度 + 骑行终点经纬度 => 骑行的位移
新增“distance”列,通过计算骑行起点和终点的经纬度得到骑行的位移,单位为千米。
geodistance() 两点纬度点直线距离学公。对公式推导和数原理
感兴趣的可以戳 https://blog.csdn.net/sunjianqiang12345/article/details/60393437 了解。
摩拜单车骑行轨迹经纬度 => 骑行的路径
新增“adderLength”列,通过计算“track”列数据得到骑行路径。
把骑行轨迹字符串按“#”分隔符分隔成列表,得到骑行轨迹的经纬度信息列表
通过不断两两轮询该骑行轨迹列表,每一次按顺序取出两个列表元素(前轨迹采样点的经纬度和后轨迹
采样点的经纬度)“,”分隔符分隔,得到四个值(前轨迹 样点的经度、前轨迹采样点的纬度、后轨迹
采样点的经度、后轨迹采样点 度),组合成一个item字典传入给geodistance()计算出两点的位移,再
把每一小段每一小段的位移累加起来得到骑行的路径。
def geodistance(item):
lng1_r, lat1_r, lng2_r, lat2_r = map(radians, [item["start_location_x"],
item["start_location_y"], item["end_location_x"], item["end_location_y"]]) # 经纬度转
换成弧度
dlon = lng1_r - lng2_r
dlat = lat1_r - lat2_r
dis = sin(dlat/2)**2 + cos(lat1_r) * cos(lat2_r) * sin(dlon/2)**2
distance = 2 * asin(sqrt(dis)) * 6371 * 1000 # 地球平均半径为6371km
distance = round(distance/1000,3)
return distance
#data按行应用geodistance()得到distance列的数值
data["distance"] = data.apply(geodistance,axis=1)
#通过摩拜单车的踪迹获取每次交易骑行的路径
def geoaadderLength(item):
track_list = item["track"].split("#")
adderLength_item = {}
adderLength = 0
for i in range(len(track_list)-1):
start_loc = track_list[i].split(",")
end_loc = track_list[i+1].split(",")
adderLength_item["start_location_x"],adderLength_item["start_location_y"] =
float(start_loc[0]),float(start_loc[1])
adderLength_item["end_location_x"],adderLength_item["end_location_y"] =
float(end_loc[0]),float(end_loc[1])
租赁时间 => 星期几 + 时间段(24小时制)
“weekday”几)“hour” 24
段)
骑行时长 => 订单金额
新增“cost”列,根据笔订单的行时 略估订单金额参照2016年摩拜收标准,按30
收取1元。
订单金额 => 用户分级(RFM模型)
由于我们拥有了每笔交易的用户id、消费金额、消费时间,我们可以考虑运用RFM模型,对用户进行分
级,这里采取的模型是RFM模型。
RFM模型是进行用户价值细分的一种方法,是用以研究用户的数学模型。
RRecency)最近一次消费时间:表示用户最近一次消费距离现在的时间;
FFrequency)消费频率:消费频率是指用户在统计周期内购买商品的次数;
MMonetary消费金额:消费金额是指用户在统计周期内消费的总金额,体现了消费 为企业创
的多少;
3个维度,帮助我们把用户划分为标准的8
adderLength_each = geodistance(adderLength_item)
adderLength = adderLength_each + adderLength
return adderLength
data["adderLength"] = data.apply(geoaadderLength,axis=1)
data['weekday'] = data.start_time.apply(lambda x: x.isoweekday())
data['hour'] = data.start_time.apply(lambda x: x.utctimetuple().tm_hour)
data['cost'] = data.lag.apply(lambda x: ceil(x/30))

资源文件列表:

mobike_analyse.zip 大约有31个文件
  1. mobike_analyse/
  2. mobike_analyse/.idea/
  3. mobike_analyse/.idea/inspectionProfiles/
  4. mobike_analyse/.idea/inspectionProfiles/profiles_settings.xml 174B
  5. mobike_analyse/.idea/misc.xml 188B
  6. mobike_analyse/.idea/mobike_analyse.iml 412B
  7. mobike_analyse/.idea/modules.xml 287B
  8. mobike_analyse/.idea/workspace.xml 10.33KB
  9. mobike_analyse/bikeMap1.py 953B
  10. mobike_analyse/bikeMap2.py 1.49KB
  11. mobike_analyse/data_analyse.ipynb 3.98MB
  12. mobike_analyse/data_dig.csv 49.51MB
  13. mobike_analyse/data_dig.py 5.06KB
  14. mobike_analyse/data_lack_surplus.ipynb 58.71KB
  15. mobike_analyse/data_user.ipynb 16.17KB
  16. mobike_analyse/mobike_shanghai_sample_updated.csv 43.69MB
  17. mobike_analyse/negative_block_data.csv 5.44KB
  18. mobike_analyse/positive_block_data.csv 5.04KB
  19. mobike_analyse/图表/
  20. mobike_analyse/图表/adderLength.html 1.34MB
  21. mobike_analyse/图表/adderLength2.html 1.21MB
  22. mobike_analyse/图表/adderLength_box.html 4.02KB
  23. mobike_analyse/图表/bike_table.html 3.29KB
  24. mobike_analyse/图表/hour.html 4.69KB
  25. mobike_analyse/图表/isAndNoweekday_hour.html 6KB
  26. mobike_analyse/图表/isAndNoweekday_hour_box.html 4.31KB
  27. mobike_analyse/图表/lackOfBike.html 56.83KB
  28. mobike_analyse/图表/lack_surplus_map.html 78.05KB
  29. mobike_analyse/图表/lag.html 16.47KB
  30. mobike_analyse/图表/lag2.html 10.07KB
  31. mobike_analyse/摩拜共享单车数据分析项目报告.pdf 2.68MB
0评论
提交 加载更多评论
其他资源 Android4.0.3-源代码
Android4.0.3源代码包(Java部分),打包好的源代码,调试使用.
.net图书管理系统完整版源码
.net图书管理系统完整版源码 包括图书管理,图书借阅,图书归还等功能
.net图书管理系统完整版源码 .net图书管理系统完整版源码 .net图书管理系统完整版源码
web网页音乐播放器代码(有运行原理简介)
web网页音乐播放器代码(有运行原理简介)
phpeclipse
phpeclipse_1.1.8.bin.dist
slf4j-1.7.7
slf4j-1.7.7最新版本,赶快下载吧!伙伴们
SMA_Connector.zip
SMA的端口仿真模型,可以使用HFSS打开直接使用,但是需要设置激励方式
STM32ADC采集波形的识别(正弦波,方波,三角波)
对ADC采集到的数据进行分析,识别波形(正弦波,方波,三角波),通过串口发送识别结果,结构优化的还不太好(就是个种方法堆在一起),个人认为程序思路比较简单。 注意!!!!!!这个方法已经被淘汰了,这种波形识别方法实在是不靠谱,我新上传了一个FFT的波形识别,比这个好多了,这个大家免费下载吧
TE田纳西-伊斯曼过程数据集
TE过程控制数据集,其中22个训练集,22个测试集。每个训练集由52个测量信号组成。共480行。每个测试集由52个测量信号组成。共960行。https://blog.csdn.net/LuohenYJ/article/details/78441707