mongodb添加多条数据_分析了一万多条拼车数据,看看北上广深的各位都回哪过年...
快過年了,很多同學都踏上了返鄉的路?,F在交通這么發達,除了高鐵飛機外,還可以搭順風車回家。今天的這篇文章我們就來分析一下拼車數據,看看今年大家都回哪兒過年。
分析了一萬多條拼車數據,看看北上廣深的各位都回哪過年作者:ElliotBai |?來源:InTrirty前言
很早之前發過一篇關于某拼車平臺爬蟲的文章,因為工作比較忙,一直沒有下文。最近年底稍微空了些,加上碰上春節返鄉大潮,剛好再拿過來寫一下數據分析的思路。
本次數據樣本共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 import Style,Geostyle = 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月中国手游出海收入排行:《原神》第一
- 下一篇: Mojang 发布《我的世界》1.20