使用 Python 分析全國所有必勝客餐廳
作者:極客猴
來源:極客猴
題圖:by thefolkpr0ject from Instagram
閱讀文字大概需要 7 分鐘。
在之前的一篇文章中,我講到如何爬取必勝客官網中全國各大城市餐廳的資訊。雖然餐廳資料資訊被抓取下來,但是資料一直在硬碟中“躺屍”。不曾記得,自己已經第 n 次這麼做了。說到這裡,要追溯到自己的大學時光。
自己從大學開始就接觸 Python,當時是自己的好奇心很強烈。好奇為什麼 Python 不需要瀏覽器就能抓取網站資料。內心感嘆到,這簡直是太妙了。自己為了體驗這種抓取資料的樂趣,所以寫了很多的爬蟲程式。
隨著自己知識面地擴充,自己瞭解到資料分析這領域。自己從而才知道爬取到的資料,原來背後還隱藏的一些資訊。自己也是在學習這方面的相關知識。這篇文章算是資料分析的處女稿,主要內容是從資料中提取出必勝客餐廳的一些資訊。
百度前端技術部開源一個基於 Javascript 的資料視覺化圖表庫。其名字為 ECharts。它算是前端資料視覺化的利器,能提供直觀,生動,可互動,可個性化定製的資料視覺化圖表。
國內有個大神突發奇想,這麼好用的庫如果能和 Python 結合起來就好了。於是乎,pyecharts 庫就應運而生。因此,pyecharts 的作用是用於生成 Echarts 圖表的類庫。本文中的所有圖示,自己都是利用 pyecharts 生成的。
安裝該庫也很簡單,使用 pip 方式安裝。
pip install pyecharts
資料清洗工作是資料分析必不可少的步驟。這一步是為了清洗一些髒資料。因為可能網站本身就有空資料,或者匹配抓取網站資訊時,有些混亂的資料。這些都需要清除掉。
我之前是將資料寫到一個 json 檔案中,我先將資料讀取出來。然後把 json 文字資料轉化為字典型別。
def get_datas():
""" 從檔案中獲取資料 """
file_name = 'results.json'
with open(file_name, 'r', encoding='UTF-8') as file:
content = file.read()
data = json.loads(content, encoding='UTF-8')
# print(data)
return data
接著對字典進行遍歷, 統計每個城市的餐廳總數。
def count_restaurants_sum(data):
""" 對字典進行遍歷, 統計每個城市的餐廳總數 """
results = {}
for key, value in data.items():
results[key] = len(value)
# print(key, len(value))
return results
再將字典中的每個 key-value 轉化為元組,然後根據 value 進行倒序排序。
restaurants_sum = sorted(restaurants_sum.items(), key=lambda item: item[1], reverse=True)
最後根據顯示結果,手動刪除一些髒資料。
def clean_datas(data):
"""
清除髒資料。
經過分析發現 ('新區', 189), ('南區', 189), ('朝陽', 56) 是髒資料, 必勝客官網的地區選項中就有這三個名字
[('新區', 189), ('上海市', 189), ('南區', 189), ('北京市', 184), ('深圳', 95),
('廣州', 86), ('杭州', 78), ('天津市', 69), ('朝陽', 56), ('蘇州', 54)]
"""
data.remove(('新區', 189))
data.remove(('南區', 189))
data.remove(('朝陽', 56))
return data
到此,資料工作已經完成。
我們已經拿到了經過清洗的資料,我們簡單對資料進行列印,然後繪製直方圖。
def render_top10():
"""
繪製直方圖顯示 全國必勝客餐廳總數 Top 10 的城市
根據清洗過後資料的結果, Top 城市如下
('上海市', 189), ('北京市', 184), ('深圳', 95), ('廣州', 86), ('杭州', 78),
('天津市', 69), ('蘇州', 54), ('西安', 52), ('武漢', 51), ('成都', 48)
"""
attr = ["上海", "北京", "深圳", "廣州", "杭州", "天津", "蘇州", "西安", "武漢", "成都"]
values = [189, 184, 95, 86, 78, 69, 54, 52, 51, 48]
bar = Bar("全國各大城市必勝客餐廳數量排行榜")
bar.add("總數", attr, values, is_stack=True, is_more_utils=True)
bar.render("render_bar.html")
繪製出來的結果如下:
不難看出,一線城市擁有必勝客的餐廳數比較多,省會城市擁有餐廳數要比非省會城市要多。
我們繼續繪製餅狀圖,看看北上廣深的餐廳數在全國的佔比。
def render_top10_percent():
"""
繪製餅狀圖 顯示北上廣深餐廳數在全國中的比例
"""
configure(global_theme='macarons')
attr = ["上海", "北京", "深圳", "廣州", "其他城市"]
value = [189, 184, 95, 86, 1893] # 根據 count_other_sum() 計算出來的
pie = Pie("北上廣深餐廳數的佔比")
pie.add("", attr, value, is_label_show=True, is_more_utils=True)
pie.render("render_pie.html")
繪製出來的結果如下:
從資料上看,北上廣深的餐廳數佔據全國餐廳數的 22.64%。其他二三線城市共佔據 77.36%。說明必勝客餐廳不僅主打大城市路線,還往二三四線城市發展,擴充套件領域。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31555699/viewspace-2295475/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 餐廳點餐系統GUI——Java大作業GUIJava
- 資料分析實際案例之:pandas在餐廳評分資料中的使用
- 程式設計師的餐廳程式設計師
- 目指主題餐廳天花板 《FF14》海德林咖啡餐廳正式開業
- 海底撈智慧餐廳:AI+餐飲的時代已來AI
- 閃信智慧校園餐廳系統
- 如何提高餐廳點菜效率的思考
- 餐廳人流實時監測系統
- High Table:掌上美餐,餐廳網路訂餐應用資料
- 臺灣大學餐廳神翻譯:雞米花亮了
- 餐飲業進入“無人”時代 口碑宣佈開放無人餐廳技術!
- 客戶抱怨椅子,餐廳老闆卻把選單換了
- 程式設計師的精神家園——碼農餐廳(二)程式設計師
- Restaurant:冠狀病毒致97%的美國餐廳銷售額低迷REST
- 【譯】類比餐廳桌前就餐來解釋前端和後端前端後端
- bzoj4873: [Shoi2017]壽司餐廳(網路流)
- William Reed Business Media:2023年全球最佳餐廳50強
- 使用python 下載全國曆代古詩Python
- 微信創意小遊戲:《消滅病毒》分成超2億,《動物餐廳》使用者達1億遊戲
- 《動物餐廳》湯庭泉:如何優雅的實現遊戲調優遊戲
- 看似無奇的智慧經營卻改變了餐廳運營方式
- 智慧巡檢丨為連鎖餐廳煥新生命力 | Whale 帷幄
- 網路流經典模型之一:最大權閉合子圖(壽司餐廳)模型
- 全國首例!3D人臉識別進駐政務大廳3D
- App Annie:2019 年餐廳和外賣領域移動現狀APP
- 互動塗鴉軟體在展廳中使用的特點分析
- 資料分析之全國熱門景點分析
- 用Python分析WordPress官網所有外掛的開發者資訊Python
- 科技展廳設計的理念分析
- 你以為只是“吃雞”餐廳,別人卻有物聯網和雲平臺
- 餐廳明廚亮灶實施方案 後廚明廚亮灶監控系統
- 海底撈、京東的無人餐廳來了,AI替代人類的時代開始了?AI
- MIT創業專案「智慧美食餐廳」4月底登陸波士頓自由之路MIT創業
- 企業文化展廳建設的流程分析
- Python爬蟲抓取知乎所有使用者資訊Python爬蟲
- 關閉餐廳外賣服務後 亞馬遜又一個新業務發展舉步維艱亞馬遜
- 企業展廳設計的製作流程分析
- 區塊鏈畢設原始碼開題論文-基於區塊鏈的餐廳管理系統區塊鏈原始碼