|
|
51CTO旗下网站
|
|
移动端

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

本次数据样本共13041条,本别采集了北京、上海、广州、深圳、杭州的某一天出行数据,由于手动操作难以保证取样的公平性,所以不能对全部数据结果的准确性做保证,本文以提供思路参考为主,先放一张路线图:

作者:ElliotBai来源:太阳城申博官网|2019-01-31 14:45

目录

  • 前言
  • 统计结果
  • 爬虫思路
  • 统计思路
  • 后记

前言

很早之前发过一篇关于某拼车平台爬虫的文章,因为工作比较忙,一直没有下文。最近年底稍微空了些,加上碰上春节返乡大潮,刚好再拿过来写一下数据分析的思路。

本次数据样本共13041条,本别采集了北京、上海、广州、深圳、杭州的某一天出行数据,由于手动操作难以保证取样的公平性,所以不能对全部数据结果的准确性做保证,本文以提供思路参考为主,先放一张路线图:

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

统计结果

好了,知道大家比较关心结果,所以先把结果放一放,后面再接着讲分析过程。

乘客性别

先单独把性别拎出来看一下,后面再根据城市进行分析,结果显示,抛开未设置性别的乘客不论,总体来看顺风车的用户群中,男性(占比49.39%)还是多于女性(占比31.55%)的。毕竟跨城顺风车,大过年的,女性乘客对于安全性的忧虑还是要有的。

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

城市订单

真实数据的话订单数量应该是深圳 > 北京 > 广州 > 上海 > 杭州,但是同一个城市内的乘客性别比例应该还是具有一定的参考价值的,可以看到北京、上海、深圳的女性乘客数量占比都是高于男性的。

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

客单价

原本是想比较一下平均路程长度,但是想想这个事情太折腾了,由于平台主要还是依靠路程来计算拼车费用的,所以通过计算客单价的话大概也能反映一下平均形成长度(我猜的,然后结果是这样的,没想到广州是最高的,也可能是我统计错误)。

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

哪里乘客最壕

有时候有些偏远地区订单或者顺路司机少,乘客会加价希望司机接单,于是统计了一下各城市加价订单的占比和平均的加价额度,得出如下结果:

占比最高的城市是深圳,平均加价额度最高的城市也是深圳,看来深圳的小哥哥小姐姐们的确出手阔绰,然而加价比例最低的是北京,不过这也不能说明帝都人民不壕气,可能就是人家繁华,司机多。

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

返乡路线图

最后放几张返乡的路线图

北京

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

上海

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

广州

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

深圳

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

杭州

杭州明显有别于其他几个城市,一个是杭州的数据样本多,另外一个平台上杭州黄牛多,那些最远的单子就是黄牛广告单。

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

分析了一万多条拼车数据,看看北上广深的各位都回哪过年

爬虫思路

注册成为司机,利用mitm抓包存储拼车单。

统计思路

数据的话,我是通过本地Mongodb存储,所以直接用python操作Mongodb数据。

Pymongo

关于Mongodb数据库的连接,直接上代码:

  1. client = MongoClient('mongodb://localhost:27017'
  2. spring = client.spring 
  3. collection = spring['orders'

以上代码的意思就是连接本地Mongodb-spring数据库-orders文档集合。

Pyecharts

Pyecharts(http://tycsbgw.bc13.net)是大名鼎鼎的Echarts的Python可视化图表库,用起来挺顺手的,而且文档规范,基本上可以零门槛入门,具体实现请移步文档。

这里介绍一下关于Pyecharts的图表样式配置,为了保持各图表的样式统一(偷懒),Pyecharts提供了一个Style类,可用于在同一个图或者多个图内保持统一的风格。

  1. from pyecharts import Style,Geo 
  2.  
  3. style = Style( 
  4.    title_color="#fff"
  5.    title_pos="center"
  6.    width=1100, 
  7.    height=600, 
  8.    background_color='#404a59' 
  9. # style.init_style 会返回类初始化的风格配置字典 
  10. geo = Geo("全国主要城市空气质量""data from pm2.5", **style.init_style) 

这样,就创建了一个Geo地理坐标系图表。

代码解读

因为全部代码有点长,所以抽了一段举个例子,主要思路就是从Mongodb取出指定数据,或者通过$group管道对数据进行处理,最后通过pyecharts生成相应的图表,呈现:

  1. from pymongo import MongoClient 
  2. from pyecharts import Style,GeoLines 
  3.  
  4. def getLines(self): 
  5.    # 连接数据库 
  6.    client = MongoClient('mongodb://localhost:27017'
  7.    spring = self.client.spring 
  8.    collection = self.spring['orders'
  9.     
  10.    # Mongodb的操作,$match-筛选出'from_poi.city.city_name''杭州'的文档, 
  11.    # 再通过$group管道,按照目标城市统计出汇总数量 
  12.    line_hangzhou = collection.aggregate([ 
  13.        {'$match': {'from_poi.city.city_name''杭州'}}, 
  14.        {'$group': {'_id''$to_poi.city.city_name''count': {'$sum': 1}}} 
  15.    ]) 
  16.    # 按照Geolines图表的数据格式格式化数据 
  17.    line_hangzhou_ = [] 
  18.    for line in line_hangzhou: 
  19.        line_hangzhou_.append(["杭州", line['_id'], line['count']]) 
  20.         
  21.    # 创建一个GeoLines图表 
  22.    citylines = GeoLines("春节迁移路线图", **style.init_style) 
  23.    # 添加数据以及样式 
  24.    citylines.add("从杭州出发"
  25.                  line_hangzhou_, 
  26.                  **geo_style) 
  27.    # 生成html文件 
  28.    citylines.render("results/citylines.html"

后记

这是一篇迟到很久的文章,本来没打算再写,但是总觉得下半部分没写完心里有个结,所以还是抽时间补上。另外作为一个非专业技术人员,多记多练免得过几天自己就忘了。

【编辑推荐】

  1. 新闻联播也可以拿来做数据分析?
  2. 15分钟,教你用Python爬网站数据,并用BI可视化分析!
  3. 数据分析惯用的5种思维方法
  4. 你愿意花十分钟系统了解数据分析方法吗?
  5. 四种大数据分析方法与大家分享
【责任编辑:未丽燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

216人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 武凤涛

468人订阅学习

读 书 +更多

Eclipse插件开发方法与实战

本书分为4个部分共24章,以插件开发为中心,围绕插件开发主要介绍SWT/JFace的应用、插件扩展点的实现,以及GEF、EMF和RCP的相关知识。本书...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

太阳城申博官网
网站地图 菲律宾太城申博 菲律宾太城申博 菲律宾太阳城申博 申博娱乐注册
申博138真人在线娱乐 申博微信支付充值 777老虎机游戏 申博会员怎么登入不了
百家乐真人游戏 太阳城app下载 申博138官网 申博游戏下载
申博138 网上百家乐 澳门博彩公司 澳门博彩公司
咪牌百家乐 申博太阳城现金网 申博娱乐开户 申博游戏下载