<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          4行代碼Python就能實(shí)現(xiàn)NBA投籃數(shù)據(jù)可視化!

          共 2810字,需瀏覽 6分鐘

           ·

          2020-10-15 13:54


          NBA剛剛結(jié)束,怎樣對(duì)球員投籃數(shù)據(jù)做可視化?


          我發(fā)現(xiàn)了大佬造的輪子,只需4行代碼就能實(shí)現(xiàn)


          GitHub地址:

          https://github.com/theccalderon/shot_chart


          在PyCharm上直接安裝shot-chart庫,記得版本選1.0.0的。


          最新版本是1.1.0,得分和未得分沒有明顯區(qū)分開,所以選擇安裝1.0.0版本。


          大伙也可以兩個(gè)版本都下載安裝,看有什么差異。


          from?shot_chart.core?import?*

          #?2019-2020賽季
          shots_2019?=?make_df(untar_data(URLs.SHOTS_2019))


          同樣的這位大佬也是把數(shù)據(jù)放在網(wǎng)絡(luò)上,需要通過數(shù)據(jù)請求才能獲取到


          此處通過查看源代碼(core.py),發(fā)現(xiàn)數(shù)據(jù)的請求地址。



          地址如下,從2000-2001賽季到2019-2020賽季。


          #?2000-2001賽季常規(guī)賽數(shù)據(jù)
          https://nba-shot-charts.s3.amazonaws.com/shots-2000.tgz
          .......................................................
          #?2019-2020賽季常規(guī)賽數(shù)據(jù)
          https://nba-shot-charts.s3.amazonaws.com/shots-2019.tgz


          直接在瀏覽器上訪問地址,下載壓縮包,解壓得到CSV文件。



          果然是2019-2020年NBA常規(guī)賽的球員投籃數(shù)據(jù)。


          統(tǒng)統(tǒng)下載下來,這樣就可以直接本地調(diào)用,不用擔(dān)心被墻掉。



          數(shù)據(jù)讀取代碼修改為如下,其實(shí)就是pandas讀取


          from?shot_chart.core?import?*

          #?2019-2020賽季
          shots_2019?=?make_df('shots-2019.csv')


          2020賽季NBA的球隊(duì)名單,調(diào)用函數(shù)list_teams


          from?shot_chart.core?import?*

          #?2019-2020賽季
          shots_2019?=?make_df('shots-2019.csv')

          #?球隊(duì)名單
          print(list_teams(shots_2019))


          得到結(jié)果如下。



          可惜了LA Clippers(快船)和Milwaukee(雄鹿)。


          兩大奪冠熱門球隊(duì),被掘金和熱火干翻船了。


          今年湖人的奪冠班底,調(diào)用函數(shù)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'))


          得到結(jié)果如下。



          還附帶了出手次數(shù),詹姆斯、戴維斯、庫茲馬、波普、格林排前五。


          臥龍鳳雛(格林、波普)得一,可安天下。


          昨天發(fā)揮爆表,小F給好評(píng)~


          湖人2020年常規(guī)賽全隊(duì)的投籃情況,調(diào)用函數(shù)TeamShots。


          from?shot_chart.core?import?*

          #?2019-2020賽季
          shots_2019?=?make_df('shots-2019.csv')

          #?湖人隊(duì)2019-2020賽季投籃情況
          Lakers?=?TeamShots(shots_2019,?"LA?Lakers")
          Lakers.plot_shots()


          果然是4行代碼呀


          左邊的圖綠色表示投籃得分,紅色表示投籃未得分


          右邊的圖橫坐標(biāo)表示距離縱坐標(biāo)表示次數(shù)綠色表示出手命中次數(shù)橙色表示投籃出手次數(shù)


          FG投籃命中率,eFG真實(shí)投籃命中率。


          真實(shí)投籃命中率=全場得分/[2×全場出手次數(shù)+0.44×罰球出手次數(shù)]


          來看一下三旬老漢(老詹)的投籃情況吧。


          from?shot_chart.core?import?*

          #?2019-2020賽季
          shots_2019?=?make_df('shots-2019.csv')

          #?勒布朗-詹姆斯2019-2020賽季常規(guī)賽投籃可視化
          james?=?PlayerShots(shots_2019,?"LeBron?James")
          james.plot_shots()


          可以看出,籃下是詹姆斯的主要得分點(diǎn)。


          03年至20年,小皇帝到詹皇的投籃數(shù)據(jù)可視化。


          from?shot_chart.core?import?*
          import?pandas?as?pd

          #?獲取圖表列名
          shots_2000?=?make_df('shots-2000.csv')
          columns_list?=?[column?for?column?in?shots_2000]

          #?新建一個(gè)空的dataframe
          shots_all?=?pd.DataFrame(columns=columns_list)

          #?獲取2000-2020常規(guī)賽總數(shù)據(jù)
          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常規(guī)賽投籃可視化
          james?=?PlayerShots(shots_all,?"LeBron?James")
          james.plot_shots()


          發(fā)現(xiàn)圖標(biāo)有點(diǎn)大,可以對(duì)core.py文件修改。



          在plt.scatter中添加參數(shù)s,設(shè)置大小為3。



          突然發(fā)現(xiàn)詹皇原來也如此全面,三分、籃下、中投,就沒有短板。


          24號(hào)與23號(hào)之間的傳承,曼巴永存。


          #?科比00-17常規(guī)賽投籃可視化
          Kobe?=?PlayerShots(shots_all,?"Kobe?Bryant")
          Kobe.plot_shots()


          24,就是24小時(shí)都全力以赴



          再看看今年隨隊(duì)奪冠的霍師傅(霍華德)。


          #?霍華德04-20常規(guī)賽投籃可視化
          howard?=?PlayerShots(shots_all,?"Dwight?Howard")
          howard.plot_shots()


          絕大多數(shù)都是內(nèi)線投籃,外線屈指可數(shù)。


          曾經(jīng)的快樂獸,單換詹姆斯的存在,后來卻開啟了流浪生涯淪為替補(bǔ)。


          最后在湖人浪子回頭,當(dāng)起了藍(lán)領(lǐng),拿到了屬于自己的總冠軍。


          心中有一種莫名的感動(dòng),致敬我們的青春!!!

          萬水千山總是情,點(diǎn)個(gè)? ?? 行不行。


          -END-


          瀏覽 71
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美成人免费 | 黄色免费小视频在线观看 | 日韩欧美一级中文字幕 | 天天天天澡日日日日澡无码 | 一区二区三区无码免费观看 |