您现在的位置是:亿华云 > 热点
分析了一万多条拼车数据,看看北上广深的各位都回哪过年
亿华云2025-10-08 01:00:45【热点】5人已围观
简介编辑:zone来源:InThirty源码:评论区获取目录前言统计结果爬虫思路统计思路后记前言很早之前发过一篇关于某拼车平台爬虫的文章,因为工作比较忙,一直没有下文。最近年底稍微空了些,加上碰上春节返乡
编辑:zone
来源:InThirty
源码:评论区获取
目录
前言
统计结果
爬虫思路
统计思路
后记
前言
很早之前发过一篇关于某拼车平台爬虫的分析文章,因为工作比较忙,条拼一直没有下文。车数最近年底稍微空了些,看北加上碰上春节返乡大潮,上广深刚好再拿过来写一下数据分析的各位过年思路。
本次数据样本共13041条,分析本别采集了北京、条拼上海、车数广州、看北深圳、上广深杭州的各位过年某一天出行数据,由于手动操作难以保证取样的分析公平性,所以不能对全部数据结果的条拼准确性做保证,本文以提供思路参考为主,车数先放一张路线图:
统计结果
好了知道大家比较关心结果,所以先把结果放一放,后面再接着讲分析过程。
乘客性别
先单独把性别拎出来看一下,后面再根据城市进行分析,结果显示,抛开未设置性别的乘客不论,总体来看顺风车的用户群中,男性(占比49.39%)还是多于女性(占比31.55%)的。毕竟跨城顺风车,服务器托管大过年的,女性乘客对于安全性的忧虑还有要有的。
城市订单
真实数据的话订单数量应该是深圳 > 北京 > 广州 > 上海 > 杭州,但是同一个城市内的乘客性别比例应该还是具有一定的参考价值的,可以看到北京、上海、深圳的女性乘客数量占比都是高于男性的。
客单价
原本是想比较一下平均路程长度,但是想想这个事情太折腾了,由于平台主要还是依靠路程来计算拼车费用的,所以通过计算客单价的话大概也能反映一下平均形成长度(我猜的,然后结果是这样的,亿华云计算没想到广州是最高的,也可能是我统计错误
哪里乘客最壕
有时候有些偏远地区订单或者顺路司机少,乘客会加价希望司机接单,于是统计了一下各城市加价订单的占比和平均的加价额度,得出如下结果:
占比最高的城市是深圳,平均加价额度最高的城市也是深圳,看来深圳的小哥哥小姐姐们的确出手阔错,然而加价比例最低的是北京,不过这也不能说明帝都人民不壕气,可能就是人家繁华,司机多。
返乡路线图
最后放几张返乡的路线图
北京
上海
广州
深圳
杭州
杭州明显有别与其它几个城市,一个是杭州的数据样本多,另外一个平台上杭州黄牛多,那些最远的服务器租用单子就是黄牛广告单
爬虫思路
注册成为司机,利用mitm抓包存储拼车单
统计思路
数据的话我是通过本地Mongodb存储,所以直接用python操作Mongodb数据
Pymongo
关于Mongodb数据库的连接,直接上代码:
client = MongoClient(mongodb://localhost:27017)
spring= client.spring
collection = spring[orders]以上代码的意思就是连接本地Mongodb-spring数据库-orders文档集合
Pyecharts
Pyecharts(http://pyecharts.org)是大名鼎鼎的Echarts的Python可视化图表库,用起来挺顺手的,而且文档规范,基本上可以零门槛入门,具体实现请移步文档。
这里介绍一下关于Pyecharts的图表样式配置,为了保持各图表的样式统一(偷懒),Pyecharts提供了一个Style类,可用于在同一个图或者多个图内保持统一的风格
from pyecharts importStyle,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 importMongoClient
from pyecharts importStyle,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 inline_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")后记
这是一篇迟到很久的文章,本来没打算再写,但是总觉得下半部分没写完心里有个结,所以还是抽时间补上。另外作为一个非专业技术人员,多记多练免得过几天自己就忘了。
很赞哦!(864)
相关文章
- 域名资源有限,好域名更是有限,但机会随时都有,这取决于我们能否抓住机会。一般观点认为,国内域名注册太深,建议优先考虑外国注册人。外国注册人相对诚实,但价格差别很大,从几美元到几十美元不等。域名投资者应抓住机遇,尽早注册国外域名。
- 选域名可以先考虑哪一类?新手需要了解哪些域名?
- 作为新手该如何选合适的域名注册商呢?有什么方法?
- 中文域名对企业来说怎样?具体有哪些好处?
- 如果你的潜在终端必须是这个米(域名),那么潜在终端并不多,也没有硬通货,那么你的域名应该在终端有兴趣购买时出售。否则,你可能得自己留着吃。
- 对域名投资的看法是怎样的?新手做投资域名什么方法?
- 小白如果注册中文域名怎么做?有何具体步骤?
- 购买网站域名是好是坏怎么甄别?新手要怎么避开这些坑?
- 众所周知,com域名拥有最大的流通市场和流通历史。最好选择com域名,特别是在购买域名时处理域名。其次可以是cn域名、net域名、org域名等主流域名,现在比较流行的王域名和顶级域名,都是值得注册和投资的。
- 小白玩域名必须知道什么小知识?新手必备域名知识