自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

大數(shù)據(jù) 數(shù)據(jù)分析 后端
前些天有個朋友向我求救,他們公司最近要針對餐飲行業(yè)做數(shù)據(jù)分析,并為某些商家做出線上營銷方案。但是他一頭霧水。我提醒他,是否先從商家的線上評價作為數(shù)據(jù)分析的入口例如美團、大眾點評、餓了么等等。朋友點頭稱是:”是個好主意,但具體怎么做呢?“于是我花了點時間用Python幫他做了一個基于線上商家評價的數(shù)據(jù)分析演示。

前些天有個朋友向我求救,他們公司最近要針對餐飲行業(yè)做數(shù)據(jù)分析,并為某些商家做出線上營銷方案。但是他一頭霧水,不知道該從哪方面下手。

我提醒他,是否先從商家的線上評價作為數(shù)據(jù)分析的入口例如美團、大眾點評、餓了么等等。

朋友點頭稱是:”是個好主意,但是具體怎么做呢?“

于是我花了點時間用Python幫他做了一個基于線上商家評價的數(shù)據(jù)分析演示。

本章知識點:

  • 商家評價數(shù)據(jù)源的獲取
  • pyecharts 柱狀圖數(shù)據(jù)分析
  • pyecharts 餅圖數(shù)據(jù)分析
  • Python的Counter使用方法

商家評價數(shù)據(jù)源的獲取

首先我們要找到合適的商家評價,在本文以大眾點評的數(shù)據(jù)為例,我隨機選擇一家餐廳的評價數(shù)據(jù)作為數(shù)據(jù)源。

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

因為隱私的關(guān)系,我隱去了商家具體的店名和地址,最終我通過線上的API接口拿到了一部分用戶評價數(shù)據(jù),用于本次演示,如果出于真正的商業(yè)目的需要獲得更完整的數(shù)據(jù),還需要大家自己去想辦法。

拿到的商家評價演示數(shù)據(jù)如下:

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

需要注意的是,我們需要對返回的數(shù)據(jù)內(nèi)容做一下處理,把數(shù)據(jù)里的true、false、null分別轉(zhuǎn)換為Python語言所需要的True、False和None。原因在于這里線上數(shù)據(jù)API接口返回時是按照javascript的數(shù)據(jù)類型來的(true、false、null)。

數(shù)據(jù)清洗了之后,我們發(fā)現(xiàn)這個數(shù)據(jù)在Python其實就是一個大的字典,那么我們按照字典的格式對其中的數(shù)據(jù)進行解析即可。

現(xiàn)在我給這個大字典命名為review_data,并保存為data.py文件,方便在正式的數(shù)據(jù)分析程序里進行import使用。

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

隨后我新建了一個名為analysis.py的文件用于數(shù)據(jù)分析,并導(dǎo)入剛才的數(shù)據(jù)源測試一下數(shù)據(jù)是否正常。

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

OK,至此我們的數(shù)據(jù)準(zhǔn)備工作已經(jīng)做好,開始進行實戰(zhàn)吧。

個性化的pyecharts柱狀圖

首先我們來獲取概要性的數(shù)據(jù)分析,就是用戶對于該商家的整體印象嘛,這部分?jǐn)?shù)據(jù)在review_data的summarys里,讓我們寫一段程序把它取出來進行展示。

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

最后圖表顯示效果如下:

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

看來這家店菜品比較新鮮、牛肉也不錯、老顧客也相對較多,不過分量好像挺少,哈哈。

接著我們來解析下我們的代碼:

  • 程序入口從18行開始,Page組件就不多說了,上一章講過,作用是在一個頁面里顯示多個圖表。
  • get_summarys()函數(shù)主要用于創(chuàng)建一個商家整體評價的柱狀圖,需要講的是第10行和12行

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

我們發(fā)現(xiàn)sumarrys的數(shù)據(jù)其實是一個list(列表)包含著多個dict(字典)數(shù)據(jù)。

那么我們的柱狀圖希望得到的格式數(shù)據(jù)應(yīng)該是下面這樣:

  • X軸數(shù)據(jù) [‘菜品健康’,'牛肉贊','回頭客'] ,X軸數(shù)據(jù)用于顯示名稱。
  • Y軸數(shù)據(jù)[51,32,29],Y軸數(shù)據(jù)用于顯示數(shù)量。

所以我們就用Python的列表推導(dǎo)式分別得到了X,Y軸的數(shù)據(jù)。

  1. #獲取整體評價名稱 
  2.    summary_name_list = [i.get('summaryString'for i in summarys] 
  3.    #獲取整體評價次數(shù)統(tǒng)計 
  4.    summary_count_list = [i.get('summaryCount'for i in summarys] 

關(guān)于add_yaxis()函數(shù)里有個category_gap需要解釋一下,它的作用是設(shè)置同一系列的柱間距離,默認(rèn)為類目間距的 20%,可設(shè)固定值。在這里我設(shè)置為80%,就顯得柱子比較遠(yuǎn),看起來更清晰一點。

拿到X,Y軸的數(shù)據(jù)后就沒什么好說的了,直接添加即可。

關(guān)于Python列表推導(dǎo)的內(nèi)容請查看我之前的教程。

個性化的pyecharts餅圖

接下來我想獲取該商家的用戶打分比例,我們知道在很多點評網(wǎng)站上,用戶的分?jǐn)?shù)從1-5顆星星不等。

那么在本文中這些數(shù)據(jù)是怎么體現(xiàn)的呢?

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

通過分析數(shù)據(jù),我們可以發(fā)現(xiàn)每個用戶的評論里都包含一個叫star的數(shù)據(jù),這里就是用戶的打分,30分代表3星。

現(xiàn)在我們寫一段代碼來把打分?jǐn)?shù)據(jù)做成餅圖。

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

在截圖里為了看起來方便我隱藏了之前get_summarys()函數(shù),大家只需要關(guān)心get_star()函數(shù)即可。

最終圖表效果如下:

  • 可以發(fā)現(xiàn)這家店的評價其實偏低,2星和3星加起來占了很大一部分,5星評價只有30%。

現(xiàn)在來解釋一下代碼:

Python的Counter使用方法

其實餅圖大家在上一章已經(jīng)學(xué)過了,我在這里著重講一下Counter庫。

Counter庫是Python自帶的一個計數(shù)工具,主要用于對序列里的數(shù)據(jù)進行計數(shù),非常方便快捷,不用我們自己造輪子了。

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

以上三行代碼可以很快幫助我們明白Counter的用途,經(jīng)過它的統(tǒng)計,我們可以發(fā)現(xiàn)列表里10數(shù)字有2個,其他數(shù)字只有1個。

那么回到剛才的打分?jǐn)?shù)據(jù)里,我們通過

  1. all_star = [i.get('reviewDataVO').get('reviewData').get('star'for i in all_review] 

這段代碼獲取到了所有的打分?jǐn)?shù)據(jù)??雌饋硐襁@樣:

  1. [30, 50, 10, 20, 35, 50, 30, 20, 50, 20] 

那么我們可以很方便的用Counter對其進行統(tǒng)計即可。

  1. stars = dict(Counter(all_star)) 

在這里之所以要用dict對Counter結(jié)果進行轉(zhuǎn)換成字典,是為了方便我們獲取字典的keys和values,正好可以作為餅圖所需的數(shù)據(jù)。大家也可以通過其他方式獲取所需內(nèi)容,不用拘泥于這一種方式。

餅圖所需數(shù)據(jù)

最后的數(shù)據(jù)壓縮代碼里:

  1. data = zip(list(stars.keys()), list(stars.values())) 

stars.keys()和starts.values()其實分別就是分?jǐn)?shù)和該分?jǐn)?shù)的個數(shù)

stars這個字典原始數(shù)據(jù)如下:

  1. {30: 2, 50: 3, 10: 1, 20: 3, 35: 1} 

之所以要用list把keys()和values()的結(jié)果轉(zhuǎn)換成列表,也是因為直接獲取字典的keys()和values()得到的數(shù)據(jù)沒辦法直接使用,需要先轉(zhuǎn)換成列表才行。

到現(xiàn)在為止,我們基本上可以熟練的使用本章學(xué)到的知識來對數(shù)據(jù)進行各種分析了。

最后我得到了四個圖表,用于對一家店鋪的初步數(shù)據(jù)分析。

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

 

Python數(shù)據(jù)分析實戰(zhàn),簡單快速制作餐飲行業(yè)商業(yè)化報告

因為篇幅有限,我就不在本文里提供全部源碼了,對這個例子感興趣的朋友可以私信我獲取源碼。

總結(jié):

通過對pyecharts的深度學(xué)習(xí),以及Python自帶的各種統(tǒng)計工具的配合使用,我們可以做出更多有價值的數(shù)據(jù)分析案例,當(dāng)這些案例慢慢成型后,就變成了一套完整的商業(yè)解決方案,希望大家可以從中得到啟發(fā),也歡迎繼續(xù)關(guān)注我的Python數(shù)據(jù)分析系列,學(xué)習(xí)更多有價值的數(shù)據(jù)分析方法。

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2013-08-02 10:23:35

飛魚星無線云飛魚星路由器飛魚星

2014-08-05 17:36:56

分析大數(shù)據(jù)商業(yè)

2018-03-05 17:47:48

大數(shù)據(jù)餐飲行業(yè)餐廳

2020-05-14 10:19:23

Python可視化分析

2015-04-08 10:01:26

數(shù)據(jù)中心商用服務(wù)器

2019-04-18 09:04:32

醫(yī)療大數(shù)據(jù)AI醫(yī)療大數(shù)據(jù)

2013-11-25 16:51:08

訊鳥

2017-02-23 08:48:03

2017-02-21 15:00:07

數(shù)據(jù)分析技術(shù)

2017-08-03 15:20:19

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

2023-11-24 14:02:00

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

2009-12-04 09:08:53

CentOS紅帽

2022-11-06 20:47:20

OCPC項目

2020-08-16 12:44:59

小費數(shù)據(jù)集Python數(shù)據(jù)分析

2012-04-01 10:05:01

2014-10-10 15:48:36

IT模式大數(shù)據(jù)云計算

2017-03-15 09:50:20

戴爾信息化建設(shè)餐飲行業(yè)

2013-02-28 09:59:55

云數(shù)據(jù)分析大數(shù)據(jù)分析Hadoop應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號