快过年了,很多同学都踏上了返乡的路。现在交通这么发达,除了高铁飞机外,还可以搭顺风车回家。今天的这篇文章我们就来分析一下拼车数据,看看今年大家都回哪儿过年。

分析了一万多条拼车数据,看看北上广深的各位都回哪过年作者:ElliotBai | 来源:InTrirty

前言

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

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

统计结果

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

乘客性别

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

城市订单

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

客单价

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

哪里乘客最壕

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

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

返乡路线图

最后放几张返乡的路线图

北京

上海

广州

深圳

杭州

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

爬虫思路

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

统计思路

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

Pymongo

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

client = MongoClient('mongodb://localhost:27017')spring = client.springcollection = spring['orders']

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

Pyecharts

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

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

from pyecharts import Style,Geo

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

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

代码解读

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

from pymongo import MongoClientfrom pyecharts import Style,GeoLines

def getLines(self):    # 连接数据库    client = MongoClient('mongodb://localhost:27017')    spring = self.client.spring    collection = self.spring['orders']

    # Mongodb的操作,$match-筛选出'from_poi.city.city_name'为'杭州'的文档,    # 再通过$group管道,按照目标城市统计出汇总数量    line_hangzhou = collection.aggregate([        {'$match': {'from_poi.city.city_name': '杭州'}},        {'$group': {'_id': '$to_poi.city.city_name', 'count': {'$sum': 1}}}    ])    # 按照Geolines图表的数据格式格式化数据    line_hangzhou_ = []    for line in line_hangzhou:        line_hangzhou_.append(["杭州", line['_id'], line['count']])

    # 创建一个GeoLines图表    citylines = GeoLines("春节迁移路线图", **style.init_style)    # 添加数据以及样式    citylines.add("从杭州出发",                  line_hangzhou_,                  **geo_style)    # 生成html文件    citylines.render("results/citylines.html")

源码已上传Github,可在此获取:

https://github.com/bkidy/Dida_spider

看完本文有收获,欢迎转发、留言、点右下角好看哦。

mongodb添加多条数据_分析了一万多条拼车数据,看看北上广深的各位都回哪过年...相关推荐

  1. 爬取了10W条数据,我们整理出了这份北上广深租房图鉴

    戳蓝字"CSDN云计算"关注我们哦! 作者:AlfredWu 转自: Alfred数据室 俗话说"金三银四",又到了春招换工作.乃至换城市的时候了.这对于&qu ...

  2. 用Python分析北上广深租房情况,租房时优先考虑哪些因素?

    俗话说"金三银四",又到了换工作.乃至换城市的时候了.这对于"回望楼价又一年"的小伙伴们来说,也意味着又到了搬家换房子的时候了.北上广深四个一线城市,哪个城市的 ...

  3. 数据残酷物语:北上广深租房图鉴

    俗话说"金三银四",又到了春招换工作.乃至换城市的时候了.这对于"回望楼价又一年"的小伙伴们来说,也意味着又到了搬家换房子的时候了.北上广深四个一线城市,哪个城 ...

  4. Python | 一万多条拼车数据,看春运的迁徙图

    作者 | 白苏,医疗健康领域产品经理一枚,Python&R爱好者 来源 | InThirty 编辑 | Jane 今天是腊月二十八,你们都到家了吗?这篇文章,作者对北京.上海.广州.深圳.杭州 ...

  5. Python看春运,万条拼车数据背后的春节迁徙地图

    Python看春运,万条拼车数据背后的春节迁徙地图 今天是正月初九,春运返程也已过半.这篇文章,作者对北京.上海.广州.深圳.杭州等地 1万多条出行数据进行分析,得出了一些有意思的结论,并且绘制了这几 ...

  6. python空气质量分析报告_Python数据可视化:2018年北上广深空气质量分析

    原标题:Python数据可视化:2018年北上广深空气质量分析 作者:法纳斯特,Python爱好者,专注爬虫,数据分析及可视化 就在这周偶然看到一个学弟吐槽天津的空气,不禁想起那段厚德载雾,自强不吸的 ...

  7. Python数据可视化:2018年北上广深空气质量分析

    感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习, ...

  8. Python数据可视化:2018年北上广深空气质量分析(附完整代码)

    ♚ 法纳斯特,Python爱好者,喜欢爬虫,数据分析以及可视化. 就在这周偶然看到一个学弟吐槽天津的空气,不禁想起那段厚德载雾,自强不吸的日子. 无图无真相,下图为证. 左边的图是去年2月份的时候,这 ...

  9. 北上广深租房信息分析

    北上广深租房信息分析 分析目的 根据链家网北上广深四个城市的所有租房数据(时间节点:2019年2月25日),数据共有105258条. 分析不同地区,租房的高低主要与哪些因素有关 不同的因素导致的房价差 ...

最新文章

  1. 浮点数能进行取模运算吗?(不行,暂时只能是两个整数之间)
  2. Intellij Idea 创建Web项目入门(一)
  3. Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
  4. 注意System.currentTimeMillis()潜在的性能问题
  5. c语言头文件 数学函数,头文件cmath中常用函数
  6. 抽取、转换和装载介绍(五)抽取数据
  7. linux终端使用python的matplotlib模块画图出现“could not open display”问题解决
  8. 【图像去噪】基于matlab邻域+中值滤波图像去噪【含Matlab源码 961期】
  9. Golang + Qt5 桌面开发终极解决方案
  10. MATLAB实现DES算法子密钥生成
  11. abb机器人离线编程软件叫做_滨州abb机器人离线编程软件
  12. android手机的mqtt测试工具,sIoT及安卓app实现mqtt实验
  13. ISO 4217 货币(货币符号)及基金编码
  14. SystemError: Negative size passed to PyUnicode_New
  15. HDFS Shell 命令简介及查询
  16. Office更新了那么多代,哪个版本好看呢?
  17. 谷歌浏览器无法翻译,最新谷歌翻译插件(chrome更强大的谷歌浏览器插件,腾讯翻译,一劳永逸)
  18. STEP标准描述方法-EXPRESS语言
  19. 根据IP获取城市代码
  20. 国家信息技术服务标准-ITSS

热门文章

  1. 一个男人关心的东西决定他的层次(转)
  2. 设置ComboBox控件的小箭头颜色.
  3. SMS短信的C语言代码摘抄
  4. c#文件操作Streamwriter, streamreader的使用
  5. linux共享 smb3.0,区块链3.0_精通Hyperledger之Samba使用(4)
  6. javaheapspace解决方案_高手总结的9种 OOM 常见原因及解决方案
  7. c语言中strcmp作用,C语言中strcmp的实现原型
  8. php百度编辑器精简版,开源web编辑器|百度编辑器ueditor下载1.4.3.4php版 下载_久友软件下载...
  9. 上海找python工作容易吗_Python程序员去上海工作有多难?
  10. html5图片怎么顶格,iQOO 5系列几乎达到了“顶格”的性能状态。