探索大神科比,30000多次投籃數據,有好玩的發現
籃球巨星科比,是NBA歷史上最佳得分手之一,以前寫了一篇關於科比的得分數據分析。這一次,讓我們聚焦於進攻方式,用數據來探索科比職業生涯的打球方式,看看如何防守才能最大化阻礙科比的進攻!
要點:
數據獲取
數據的清洗
數據的多維度可視化
01:數據來源
玩數據分析的同學一定都知道kaggle,裏面有大量好玩的數據集,這次我們下載了科比近20年職業生涯中所嘗試的每個投籃命中的位置和情況,由於是籃球領域的數據,可能有一些小夥伴看不懂,不過沒關系,後面我都會進行簡短的說明的。
鏈接:https://www.kaggle.com/c/kobe-bryant-shot-selection/data
The field names are self explanatory and contain the following attributes:
action_type 進攻方式(更具體)
combined_shot_type 進攻方式
game_event_id 這個不清楚
game_id 比賽ID
lat 投籃點
loc_x 投籃點
loc_y 投籃點
lon 投籃點
minutes_remaining 單節剩余時間(分鐘)
period 表示第幾節
playoffs 是否是季後賽
season 賽季
seconds_remaining 剩余時間(秒)
shot_distance 投籃距離
shot_made_flag 是否進球
shot_type 兩分球或三分球
shot_zone_area 投籃區域
shot_zone_basic 投籃區域(更具體)
shot_zone_range 投籃範圍
team_id 球隊ID
team_name 球隊名稱
game_date 比賽日期
matchup 比賽雙方
opponent 對手
shot_id 投籃ID
02:數據的讀取和查看
1).讀入數據集:
2).看一下數據集基本情況:一共有25個維度
3).看一下數據集的大小:一共投了30697次
可以看到,科比職業生涯出手投籃了三萬多次,確實是厲害!大致先了解一下這份數據,主要是收集了科比每一次進攻的位置,投籃方式和得分,這三個維度也是我們重點關註的,其他的其實影響不是太大。
03:數據清洗和探索
1).數據的清洗
因為這是kaggle上的一個比賽數據,會用於預測,所以在“shot_made_flag”這一列上會有空值(即預測科比這一次投籃是否能投進
#剔除未知命中結果的數據
known_data = data[data['shot_made_flag'].notnull()]
known_data.sample(3)
2).數據的思考
那接下來就慢慢來分析科比的投籃吧。站在一個球迷的位置,我會先關註的是科比的投籃點,有哪一些進攻的方式,哪一種又是偏多呢?
在數據分析前,我先來猜測下,按照我的球迷經驗,科比常用的應該是跳投多一些,畢竟江湖上有一句話說,“我科後仰美如畫”。科比的投籃姿勢也是教科書版的存在,所以會有很多人去模仿他的動作。
3).畫出科比的投籃圖
默認的plt畫圖太醜,我用sns來設置畫圖的顏色
plt來設置中文字體,設置坐標系顯示負數
用scatter來畫散點圖
設置X,Y軸和Title
可視化看一下:
4).常用的進攻方式
取數據集中的'combined_shot_type'統計科比投籃的方式
用直方圖來顯示,構造x和y的參數.(x為1到6的序列,y為每一種投籃方式的統計數)
設置坐標標簽和刻度範圍
果然,跳投是最多的,最少的是擦板(嗯,這個讓我想起了另外一位巨星——鄧肯,他的擦板肯定不少!)這裏用到的是“combined_shot_type”這一列,然後我把結果轉為中文了,看起來順眼一點。
4).計算命中率
過濾數據集,獲得投籃命中的次數hits_df
計算投籃命中率
設置坐標參數和lable
可以看到,扣籃的命中率最高,然後是擦板,帶球上籃,勾手,跳投,最後居然是補籃命中率最低(有點難以置信,有可能是數據的缺失的原因,我其實更偏向跳投才是最低的).
5).看看不同區域的出手情況
分析完科比的進攻方式,再來看看他喜歡在哪些地方投籃,終結的效果又是如何。同樣,數據集裏面對投籃區域的描述也有兩列,這裏我選取描述更具體的“shot_zone_basic”一列來分析。
因為y軸的標簽名稱太長,所以我們把畫布右移0.18
可以看到,科比更多的進攻範圍是在中距離,中投多一點。
6).最後一分鐘的數據
#選取最後一分鐘的數據
last_min_df = known_data[known_data['minutes_remaining']==0]
#平均進攻距離
avg_dis = last_min_df['shot_distance'].mean()
#進攻方式繪制
可以看到,還是中距離的跳投居多,還有一些距離看起來很遠的,一般都是時間快到點了,然後亂扔出去的,最為球隊領袖,還是有很多出手權的。
限於篇幅,我對某些數據探索原文有一些刪減,其實這是一份很好可以用來練習的數據集,你可以用來練習pandas數據分析,matplotlib可視化,sklearn數據挖掘,希望大家可以學習和挖掘更多信息。
探索大神科比,30000多次投籃數據,有好玩的發現