探索大神科比,30000多次投篮数据,有好玩的发现
要點:
數(shù)據(jù)獲取
數(shù)據(jù)的清洗
數(shù)據(jù)的多維度可視化
01
數(shù)據(jù)來源
玩數(shù)據(jù)分析的同學一定都知道kaggle,里面有大量好玩的數(shù)據(jù)集,這次我們下載了科比近20年職業(yè)生涯中所嘗試的每個投籃命中的位置和情況,由于是籃球領域的數(shù)據(jù),可能有一些小伙伴看不懂,不過沒關系,后面我都會進行簡短的說明的。
鏈接: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 ? 單節(jié)剩余時間(分鐘)
period ? ? ? ? ? ? ? ? ?表示第幾節(jié)
playoffs ? ? ? ? ? ?是否是季后賽
season ? ? ? ? ? ? ? ? ?賽季
seconds_remaining ? 剩余時間(秒)
shot_distance ? ? ? ? ? 投籃距離
shot_made_flag ? ? ? ? ?是否進球
shot_type ? ? ? ? ? 兩分球或三分球
shot_zone_area ? ? ? ? ?投籃區(qū)域
shot_zone_basic ? ? ? ? 投籃區(qū)域(更具體)
shot_zone_range ? ? ? ? 投籃范圍
team_id ? ? ? ? ? ? ? ? 球隊ID
team_name ? ? ? ? ? 球隊名稱
game_date ? ? ? ? ? 比賽日期
matchup ? ? ? ? ? ? ? ? 比賽雙方
opponent ? ? ? ? ? ?對手
shot_id ? ? ? ? ? ? ? ? 投籃ID
02
數(shù)據(jù)的讀取和查看
1).讀入數(shù)據(jù)集:
2).看一下數(shù)據(jù)集基本情況:一共有25個維度
3).看一下數(shù)據(jù)集的大小:一共投了30697次
可以看到,科比職業(yè)生涯出手投籃了三萬多次,確實是厲害!大致先了解一下這份數(shù)據(jù),主要是收集了科比每一次進攻的位置,投籃方式和得分,這三個維度也是我們重點關注的,其他的其實影響不是太大。
03
數(shù)據(jù)清洗和探索
1).數(shù)據(jù)的清洗
因為這是kaggle上的一個比賽數(shù)據(jù),會用于預測,所以在“shot_made_flag”這一列上會有空值(即預測科比這一次投籃是否能投進),后面的部分分析會先剔除掉這些空值的數(shù)據(jù),所以科密們,如果見到后面一些分析不太合理的話,要考慮到這一點哦!
#剔除未知命中結果的數(shù)據(jù)
known_data = data[data['shot_made_flag'].notnull()]
known_data.sample(3)
2).數(shù)據(jù)的思考
那接下來就慢慢來分析科比的投籃吧。站在一個球迷的位置,我會先關注的是科比的投籃點,有哪一些進攻的方式,哪一種又是偏多呢?
在數(shù)據(jù)分析前,我先來猜測下,按照我的球迷經(jīng)驗,科比常用的應該是跳投多一些,畢竟江湖上有一句話說,“我科后仰美如畫”。科比的投籃姿勢也是教科書版的存在,所以會有很多人去模仿他的動作。
3).畫出科比的投籃圖
默認的plt畫圖太丑,我用sns來設置畫圖的顏色
plt來設置中文字體,設置坐標系顯示負數(shù)
用scatter來畫散點圖
設置X,Y軸和Title
可視化看一下:
4).常用的進攻方式
取數(shù)據(jù)集中的'combined_shot_type'統(tǒng)計科比投籃的方式
用直方圖來顯示,構造x和y的參數(shù).(x為1到6的序列,y為每一種投籃方式的統(tǒng)計數(shù))
設置坐標標簽和刻度范圍
果然,跳投是最多的,最少的是擦板(嗯,這個讓我想起了另外一位巨星——鄧肯,他的擦板肯定不少!)這里用到的是“combined_shot_type”這一列,然后我把結果轉為中文了,看起來順眼一點。
4).計算命中率
過濾數(shù)據(jù)集,獲得投籃命中的次數(shù)hits_df
計算投籃命中率
設置坐標參數(shù)和lable
可以看到,扣籃的命中率最高,然后是擦板,帶球上籃,勾手,跳投,最后居然是補籃命中率最低(有點難以置信,有可能是數(shù)據(jù)的缺失的原因,我其實更偏向跳投才是最低的).
5).看看不同區(qū)域的出手情況
分析完科比的進攻方式,再來看看他喜歡在哪些地方投籃,終結的效果又是如何。同樣,數(shù)據(jù)集里面對投籃區(qū)域的描述也有兩列,這里我選取描述更具體的“shot_zone_basic”一列來分析。
因為y軸的標簽名稱太長,所以我們把畫布右移0.18
可以看到,科比更多的進攻范圍是在中距離,中投多一點。
6).最后一分鐘的數(shù)據(jù)
#選取最后一分鐘的數(shù)據(jù)
last_min_df = known_data[known_data['minutes_remaining']==0]
#平均進攻距離
avg_dis = last_min_df['shot_distance'].mean()
#進攻方式繪制
可以看到,還是中距離的跳投居多,還有一些距離看起來很遠的,一般都是時間快到點了,然后亂扔出去的,最為球隊領袖,還是有很多出手權的。
如果大家周圍有對數(shù)據(jù)分析&數(shù)據(jù)挖掘感興趣的朋友,歡迎在朋友圈分享&轉發(fā)一下,讓更多的朋友加入我們。有好的文章也可以聯(lián)系我與大家分享,需要獲取代碼轉載本公眾號文章,可以直接在公眾號或者文章下方留言。
往期文章:
總結
以上是生活随笔為你收集整理的探索大神科比,30000多次投篮数据,有好玩的发现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MacOS svn:E230001 Ca
- 下一篇: IDEA主题设置与eclipse代码风格