可視化實戰!Python+BI,手把手教你做炫酷的NBA可視化分析

之前手癢做了一次NBA可視化分析,好多人追着我問教程,這兩天終於閒下來了,花時間整理這篇NBA可視化分析教程,手把手教大家做一次炫酷的數據可視化分析!

先部分展示本次教程的作品:

數據獲取

本次可視化分析的數據來自於網絡,有一部分是從外網下載的,還有一部分是python從NBA官網爬取的,數據集包含從上世紀90年代開始到16-17賽季,包括NBA所有球員、球隊的常規賽,季後賽數據,球員各賽季的薪金等數據。

因爲涉及的數據比較多,爬取過程比較繁雜,我就不在文中多說了,直接把數據集給大家整理好,獲取方式見文末。

確定分析思路

因爲本人不是非常專業的NBA球迷,所以再在拿到數據之後,我去科普了一下NBA比賽需要哪些數據,通過對應網站的瀏覽和查看,瞭解到數據主要分爲三類,一類是比賽數據,以字段,勝場,得分,主客場勝負,勝率,淨勝場,最近10場勝負爲主。一類是球員數據,以命中率,PER,WS,得分爲主。最後一類薪資數據,以球員薪資,佔比,球隊薪資,佔比爲主。

瞭解了關注點後,我查看了手上有的數據,並把其劃分爲4塊。列出四個主題,球隊分析,球員分析,薪資分析,季後賽分析。主題相應分析模塊如下所示:

根據分析模塊,選擇合適的可視化圖表

按照上面的思路,我們可以根據分析模塊提前確定好可視化圖表,後面就可以按部就班製作可視化分析圖表,提高效率。至於圖表的選擇,這塊之前我在很多文章都講過,參照下面這張圖就可以了:

除了可視化圖表之外,要想讓你的可視化作品更加貼合主題,還可利用一些可視化元素,比如NBA相關的圖片或者圖標等等,這些元素往往能夠起到畫龍點睛的效果。

基礎數據整理,數據加工

上面的準備工作完成之後,接下來就是使用工具進行分析了。涉及到數據表比較多,而且需要進行的數據加工也比較繁雜,用Excel顯然不是一個快捷的辦法,我選擇了用BI工具FineBI進行可視化分析操作。

打開FineBI,點擊添加數據表,把本次分析所用到的數據表導入

然後利用FineBI的自助數據集功能進行數據處理,按照我們上面的數據分析思路,我利用魚骨圖梳理的四個分析主題需要用到數據表,然後分別創建自助數據集進行加工

利用FineBI的自助數據集加工數據的過程比Excel方便的多,它自帶數據處理的工程,可以對數據進行分組求和、求平均、過濾等一系列的操作,而且每一步操作在左邊的面板都會有記錄,方便後續檢查

點擊創建自助數據集,製作球員數據寬表。

第一步,新增比賽失分列,用函數從比分列中獲取比賽失分,具體的函數使用方法,系統理由非常詳細的講解,我就不多說了

然後再新增列,分別統計出主客場勝、負場數

然後按照球員和時間分組彙總,並計算出每個球員的勝率(勝率=勝場/(勝場+負場))和場均得分(場均得分=得分/場次)、場均失分(場均失分=比賽失分/場次)

這樣一張球員數據寬表就基本完成了,整個數據加工的過程步驟比較多,但是操作上比較簡便,步驟式的記錄也不容易出錯。用同樣的方法我們再製作出上面魚骨圖中的其他數據表,最近10場比賽的數據、球隊數據寬表等等,和上面的操作類似,篇幅原因我就不展示了

可視化圖表製作

最複雜的數據加工環節完成之後,下一步就是進行可視化圖表製作。這個過程用BI工具製作非常簡單,速度比Excel快N倍,把數據指標和維度拖拽到座標軸上,圖表就自動生成了,系統還會根據你選擇的指標和維度的數量,智能推薦合適的可視化圖表

然後根據個人喜好,調整圖表配色及細節

最後各主題分析模塊的可視化圖表如下:

球隊分析:

從歷史數據看,SAS聖安東尼奧馬刺隊表現最好,以49.69勝場,63.9%的勝率居球隊第一名。而近兩年勝場最高的球隊是GSW金州勇士隊獲得了115場勝場,也榮獲了單年最高的72勝場,而SAS聖安東尼奧馬刺隊則是以102勝場保持第二名。

14年前,SAS勝場超過GSW,但近兩年發揮低於GSW,再來看球隊16賽季因素排名表,GSW16年奪冠,是由於其綜合實力。得分、助攻、三分、籃板、蓋帽等均處於領先水平,而SAS隊的特點則是,穩紮穩打,犯規較多,失誤較少。

球員分析:

根據16-17賽季個人平均PER,平均得分,平均籃板,平均三分,平均助攻,得出16賽季MVP爲Jarnell Stokes,得分王爲Russell Westbrook ,籃板王爲Hassan whitesid,三分王爲Stephen Curry,助攻王爲James Harden。

個人喜歡火箭就拿James Harden做了下分析,從命中熱力圖可知,他的得分區域主要是籃下投籃及罰球區投籃。根據八維雷達圖,哈登的長處在於得分,助攻和籃板,得分遠超16賽季平均水平,除了中,遠距離命中率,哈登其他位置的命中率也隨着時間逐步上升。PER值也是逐年上升,正值黃金時期。

薪資分析:

平均薪資前十的球隊爲布魯克林籃網,紐約尼克斯,邁阿密熱火,俄克拉荷馬雷霆等,進一步分析得知布魯克林籃網因爲是新球隊,所以平均薪水高,整體球隊薪資呈上升趨勢。

個人薪資情況的話,John Wall薪資最高,且個人平均薪資在2015賽季後顯著上升,單看GSW隊,隊內成員薪資差距大,Keven,klay,Stephen,andrew佔了薪資的80%,個人薪水和賽季個人得分呈正相關,也和個人PER呈正相關

生成儀表板

最後調整儀表板上的圖表佈局,突出重點數據,優化圖表及配色,加入準備好的NBA可視化元素,把我們分析的結論也可以添加在儀表板中,一張完整的NBA可視化分析報告就完成了:

文中所有數據集、可視化素材及工具,轉發收藏本文,後臺私信“籃球”獲得

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章