36歲的老詹還沒有老,4座總冠軍+4次FMVP,
湖人總冠軍, Kobe! this is for u!
今天給大家介紹一個好東西~
只需4行代碼就能實作,投籃資料可視化
GitHub地址:
https://github.com/theccalderon/shot_chart
在PyCharm上直接安裝shot-chart庫,記得版本選1.0.0的,
最新版本是1.1.0,得分和未得分沒有明顯區分開,所以選擇安裝1.0.0版本,
大伙也可以兩個版本都下載安裝,看有什么差異,
from shot_chart.core import * # 2019-2020賽季 shots_2019 = make_df(untar_data(URLs.SHOTS_2019))
同樣的這位大佬也是把資料放在網路上,需要通過資料請求才能獲取到,
通過查看源代碼(core.py),發現資料的請求地址,

地址如下,從2000-2001賽季到2019-2020賽季,
# 2000-2001賽季常規賽資料 https://nba-shot-charts.s3.amazonaws.com/shots-2000.tgz ....................................................... # 2019-2020賽季常規賽資料 https://nba-shot-charts.s3.amazonaws.com/shots-2019.tgz
直接在瀏覽器上訪問地址,下載壓縮包,解壓得到CSV檔案,


果然是2019-2020年NBA常規賽的球員投籃資料,
統統下載下來,這樣就可以直接本地呼叫,不用擔心被墻掉,
注意:光理論是不夠的,這里順便免費送大家一套2020最新python入門到高級專案實戰視頻教程,可以在我的Python交流圈下載

資料讀取代碼修改為如下,其實就是pandas讀取,
from shot_chart.core import * # 2019-2020賽季 shots_2019 = make_df('shots-2019.csv')
2020賽季NBA的球隊名單,呼叫函式list_teams,
from shot_chart.core import * # 2019-2020賽季 shots_2019 = make_df('shots-2019.csv') # 球隊名單 print(list_teams(shots_2019))
得到結果如下,

可惜了LA Clippers(快船)和Milwaukee(雄鹿),
兩大奪冠熱門球隊,被掘金和熱火干翻船了,
今年湖人的奪冠班底,呼叫函式list_team_players,
from shot_chart.core import * # 2019-2020賽季 shots_2019 = make_df('shots-2019.csv') # 湖人奪冠班底 print(list_team_players(shots_2019, 'LA Lakers'))
得到結果如下,

還附帶了出手次數,詹姆斯、戴維斯、庫茲馬、波普、格林排前五,
臥龍鳳雛(格林、波普)得一,可安天下,
昨天發揮爆表,必須給好評~
湖人2020年常規賽全隊的投籃情況,呼叫函式TeamShots,
from shot_chart.core import * # 2019-2020賽季 shots_2019 = make_df('shots-2019.csv') # 湖人隊2019-2020賽季投籃情況 Lakers = TeamShots(shots_2019, "LA Lakers") Lakers.plot_shots()

果然是4行代碼呀~
左邊的圖綠色表示投籃得分,紅色表示投籃未得分,
右邊的圖橫坐標表示距離,縱坐標表示次數,綠色表示出手命中次數,橙色表示投籃出手次數,
FG投籃命中率,eFG真實投籃命中率,
真實投籃命中率=全場得分/[2×全場出手次數+0.44×罰球出手次數]
來看一下三旬老漢(老詹)的投籃情況吧,
from shot_chart.core import * # 2019-2020賽季 shots_2019 = make_df('shots-2019.csv') # 勒布朗-詹姆斯2019-2020賽季常規賽投籃可視化 james = PlayerShots(shots_2019, "LeBron James") james.plot_shots()

可以看出,籃下是詹姆斯的主要得分點,
03年至20年,小皇帝到詹皇的投籃資料可視化,
from shot_chart.core import * import pandas as pd # 獲取圖表列名 shots_2000 = make_df('shots-2000.csv') columns_list = [column for column in shots_2000] # 新建一個空的dataframe shots_all = pd.DataFrame(columns=columns_list) # 獲取2000-2020常規賽總資料 for i in range(2001, 2020): # 檔案名 file_name = 'shots-' + str(i) + '.csv' shots = make_df(file_name) # 縱向拼接 shots_all = pd.concat([shots_all, shots], ignore_index=True) # 輸出 # print(shots_all) # 詹姆斯03-20常規賽投籃可視化 james = PlayerShots(shots_all, "LeBron James") james.plot_shots()

發現圖示有點大,可以對core.py檔案修改,

在plt.scatter中添加引數s,設定大小為3,

突然發現詹皇原來也如此全面,三分、籃下、中投,就沒有短板,
24號與23號之間的傳承,曼巴永存,
# 科比00-17常規賽投籃可視化 Kobe = PlayerShots(shots_all, "Kobe Bryant") Kobe.plot_shots()

24,就是24小時都全力以赴,

再看看今年隨隊奪冠的霍師傅(霍華德),
# 霍華德04-20常規賽投籃可視化 howard = PlayerShots(shots_all, "Dwight Howard") howard.plot_shots()

絕大多數都是內線投籃,外線屈指可數,
曾經的快樂獸,單換詹姆斯的存在,后來卻開啟了流浪生涯淪為替補,
最后在湖人浪子回頭,當起了藍領,拿到了屬于自己的總冠軍,
心中有一種莫名的感動,致敬我們的青春!!!
20個CSV檔案點擊這里領取 提取碼:1858
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/187346.html
標籤:其他
上一篇:QT父類信號呼叫子類槽函式
