偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

用Python分析統(tǒng)計必勝客餐廳

開發(fā) 后端 數(shù)據(jù)分析
在之前的一篇文章100行代碼爬取全國所有必勝客餐廳信息,我講到如何爬取必勝客官網(wǎng)中全國各大城市餐廳的信息。雖然餐廳數(shù)據(jù)信息被抓取下來,但是數(shù)據(jù)一直在硬盤中“躺尸”。不曾記得,自己已經(jīng)第 n 次這么做了。說到這里,要追溯到自己的大學時光。

在之前的一篇文章100行代碼爬取全國所有必勝客餐廳信息,我講到如何爬取必勝客官網(wǎng)中全國各大城市餐廳的信息。雖然餐廳數(shù)據(jù)信息被抓取下來,但是數(shù)據(jù)一直在硬盤中“躺尸”。不曾記得,自己已經(jīng)第 n 次這么做了。說到這里,要追溯到自己的大學時光。

自己從大學開始就接觸 Python,當時是自己的好奇心很強烈。好奇為什么 Python 不需要瀏覽器就能抓取網(wǎng)站數(shù)據(jù)。內心感嘆到,這簡直是太妙了。自己為了體驗這種抓取數(shù)據(jù)的樂趣,所以寫了很多的爬蟲程序。

隨著自己知識面地拓展,自己了解到數(shù)據(jù)分析這領域。自己從而才知道爬取到的數(shù)據(jù),原來背后還隱藏的一些信息。自己也是在學習這方面的相關知識。這篇文章算是數(shù)據(jù)分析的處女稿,主要內容是從數(shù)據(jù)中提取出必勝客餐廳的一些信息。

01環(huán)境搭建

百度前端技術部開源一個基于 Javascript 的數(shù)據(jù)可視化圖表庫。其名字為 ECharts。它算是前端數(shù)據(jù)可視化的利器,能提供直觀,生動,可交互,可個性化定制的數(shù)據(jù)可視化圖表。

國內有個大神突發(fā)奇想,這么好用的庫如果能和 Python 結合起來就好了。于是乎,pyecharts 庫就應運而生。因此,pyecharts 的作用是用于生成 Echarts 圖表的類庫。本文中的所有圖標,自己都是利用 pyecharts 生成的。

安裝該庫也很簡單,使用 pip 方式安裝。

  1. pip install pyecharts 

02數(shù)據(jù)清洗

數(shù)據(jù)清洗工作是數(shù)據(jù)分析必不可少的步驟。這一步是為了清洗一些臟數(shù)據(jù)。因為可能網(wǎng)站本身就有空數(shù)據(jù),或者匹配抓取網(wǎng)站信息時,有些混亂的數(shù)據(jù)。這些都需要清除掉。

我之前是將數(shù)據(jù)寫到一個 json 文件中,我先將數(shù)據(jù)讀取出來。然后把 json 文本數(shù)據(jù)轉化為字典類型。

  1. def get_datas(): 
  2.     """ 從文件中獲取數(shù)據(jù) """ 
  3.     file_name = 'results.json' 
  4.     with open(file_name, 'r', encoding='UTF-8'as file: 
  5.         content = file.read() 
  6.         data = json.loads(content, encoding='UTF-8'
  7.         # print(data) 
  8.     return data 

接著對字典進行遍歷, 統(tǒng)計每個城市的餐廳總數(shù)。

  1. def count_restaurants_sum(data): 
  2.     """ 對字典進行遍歷, 統(tǒng)計每個城市的餐廳總數(shù) """ 
  3.     results = {} 
  4.     for key, value in data.items(): 
  5.         results[key] = len(value) 
  6.         # print(key, len(value)) 
  7.     return results 

再將字典中的每個 key-value 轉化為元組,然后根據(jù) value 進行倒序排序。

  1. restaurants_sum = sorted(restaurants_sum.items(), key=lambda item: item[1], reverse=True

最后根據(jù)顯示結果,手動刪除一些臟數(shù)據(jù)。

  1. def clean_datas(data): 
  2.     ""
  3.     清除臟數(shù)據(jù)。 
  4.     經(jīng)過分析發(fā)現(xiàn) ('新區(qū)', 189), ('南區(qū)', 189), ('朝陽', 56) 是臟數(shù)據(jù), 必勝客官網(wǎng)的地區(qū)選項中就有這三個名字 
  5.     [('新區(qū)', 189), ('上海市', 189), ('南區(qū)', 189), ('北京市', 184), ('深圳', 95), 
  6.      ('廣州', 86), ('杭州', 78), ('天津市', 69), ('朝陽', 56), ('蘇州', 54)] 
  7.     ""
  8.     data.remove(('新區(qū)', 189)) 
  9.     data.remove(('南區(qū)', 189)) 
  10.     data.remove(('朝陽', 56)) 
  11.     return data 

到此,數(shù)據(jù)工作已經(jīng)完成。

03數(shù)據(jù)分析

我們已經(jīng)拿到了經(jīng)過清洗的數(shù)據(jù),我們簡單對數(shù)據(jù)進行打印,然后繪制直方圖。

  1. def render_top10(): 
  2.     ""
  3.     繪制直方圖顯示 全國必勝客餐廳總數(shù) Top 10 的城市 
  4.     根據(jù)清洗過后數(shù)據(jù)的結果, Top 城市如下 
  5.     ('上海市', 189), ('北京市', 184), ('深圳', 95), ('廣州', 86), ('杭州', 78), 
  6.     ('天津市', 69), ('蘇州', 54), ('西安', 52), ('武漢', 51), ('成都', 48) 
  7.     ""
  8.     attr = ["上海""北京""深圳""廣州""杭州""天津""蘇州""西安""武漢""成都"
  9.     values = [189, 184, 95, 86, 78, 69, 54, 52, 51, 48] 
  10.     bar = Bar("全國各大城市必勝客餐廳數(shù)量排行榜"
  11.     bar.add("總數(shù)", attr, values, is_stack=True, is_more_utils=True
  12.     bar.render("render_bar.html"

繪制出來的結果如下:

用Python分析統(tǒng)計必勝客餐廳

不難看出,一線城市擁有必勝客的餐廳數(shù)比較多,省會城市擁有餐廳數(shù)要比非省會城市要多。

我們繼續(xù)繪制餅狀圖,看看北上廣深的餐廳數(shù)在全國的占比。

  1. def render_top10_percent(): 
  2.     ""
  3.     繪制餅狀圖 顯示北上廣深餐廳數(shù)在全國中的比例 
  4.     ""
  5.     configure(global_theme='macarons'
  6.     attr = ["上海""北京""深圳""廣州""其他城市"
  7.     value = [189, 184, 95, 86, 1893]  # 根據(jù) count_other_sum() 計算出來的 
  8.     pie = Pie("北上廣深餐廳數(shù)的占比"
  9.     pie.add("", attr, value, is_label_show=True, is_more_utils=True
  10.     pie.render("render_pie.html"

繪制出來的結果如下:

用Python分析統(tǒng)計必勝客餐廳

從數(shù)據(jù)上看,北上廣深的餐廳數(shù)占據(jù)全國餐廳數(shù)的 22.64%。其他二三線城市共占據(jù) 77.36%。說明必勝客餐廳不僅主打大城市路線,還往二三四線城市發(fā)展,擴展領域。

作者:極客猴,熱衷于 Python,目前擅長利用 Python 制作網(wǎng)絡爬蟲以及 Django 框架。

責任編輯:未麗燕 來源: Python中文社區(qū)
相關推薦

2018-11-26 18:57:58

Python數(shù)據(jù)分析爬取

2023-04-11 22:03:36

2010-09-02 12:30:40

2016-12-02 20:27:27

Yelp數(shù)據(jù)可視化機器學習算法

2009-07-03 17:06:41

面試素質

2011-11-24 09:04:26

靈客風優(yōu)惠券

2020-07-23 09:15:25

Python機器學習聚類分析

2023-03-16 08:00:00

機器學習深度學習人工智能

2015-08-19 09:40:51

統(tǒng)計分析

2019-07-11 10:52:02

Python統(tǒng)計數(shù)據(jù)

2022-05-22 07:32:36

RPython分析工具

2021-08-04 23:15:05

機器人人臉識別無人餐廳

2023-01-04 07:49:56

物聯(lián)網(wǎng)泄漏傳感器

2024-11-07 11:10:34

Python腳本統(tǒng)計分析

2022-06-24 09:58:35

大數(shù)據(jù)JavaPython

2015-03-09 10:18:23

2012-10-09 09:28:48

jQuery Mobi餐廳訂餐應用

2020-12-31 10:24:37

Python元旦旅游代碼

2021-06-10 09:53:04

數(shù)據(jù)統(tǒng)計統(tǒng)計分析數(shù)據(jù)
點贊
收藏

51CTO技術棧公眾號