加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

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

发布时间:2019-02-13 22:02:21 所属栏目:教程 来源:ElliotBai
导读:副标题#e# 目录 前言 统计结果 爬虫思路 统计思路 后记 前言 很早之前发过一篇关于某拼车平台爬虫的文章,因为工作比较忙,一直没有下文。最近年底稍微空了些,加上碰上春节返乡大潮,刚好再拿过来写一下数据分析的思路。 本次数据样本共13041条,本别采集

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

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

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

Pyecharts

Pyecharts(http://pyecharts.org)是大名鼎鼎的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

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读