篮球NBA

篮球
专注分享篮球|NBA新闻
篮球NBA-国内外篮球时事追踪报道,篮球明星,赛程,战报

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手

更新时间:2022-01-14 01:09:44点击:

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图1)

前言

1. 这篇数据分析案例,我做了个视频版本,对代码做了解读,讲了运行的注意事项和一些有的没的,供需。对于视频制作还不是很有经验,多包涵。(视频里有彩蛋NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图2)

同样,之前上传了B站一份,点文末“阅读原文”可直达,喜欢的话请支持我一下。

(点击图片快速查看小程序)

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图3)

2. 本文在案例的代码写完后,我把它发在了虎扑上。结果,被推荐上了首页,25万多次浏览,近800回复……感谢各位JRs赏脸!

● NBA 2K20球员数据一览(76人队)

● NBA 2K20球员数据一览(奇才队)| 小前锋八村塁详细数据

● NBA 2K20球员数据一览(勇士队)| 加强版汤普森:乔丹·普尔

● NBA 2K20球员数据一览(开拓者队)| 巨人克星:纳西尔·利特尔

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图4)

3. 获取原图、更多球员生成的结果及完整代码,请在***“Crossin的编程教室”内回复关键字:nba

NBA 2018-19 赛季已经落下帷幕,猛龙击败勇士,成为新科冠军球队。

我想,不如来做个 NBA 相关的数据分析案例好了。实际上,数据分析团队对于现在的 NBA 球队已经算是标配了,无论是在球员选择还是战术制定上都起着重要的作用。当下整个联盟越来越盛行的“魔球化”打法,其实也正是基于数据分析的产物。

● NBA 2K20球员数据一览(森林狼队)| 身披23号的辣个男人:贾勒特·卡尔弗

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图5)

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图6)

● NBA 2K20球员数据一览(雷霆队)| 达柳斯·贝兹利:我心如铁 坚不可摧

● NBA 2K20球员数据一览(太阳队)| 卡梅隆·约翰逊:说出吾名,吓汝一跳

● NBA 2K20球员数据一览(马刺队)| 卢卡·萨马尼奇:喜欢唱、跳、rap、篮球

于是,我们就借助官方数据和 Python 的绘图函数,来看一看不同的球员都是在什么位置出手投篮的。

0. 效果展示

● NBA 2K20球员数据一览(猛龙队)

● NBA 2K20球员数据一览(火箭队)

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图7)

NBA 2k20转化数据仅供参考。

***回复球员姓名,点击【NBA2K20】标签的链接进入,目前可查NBA 2K20最新数据(更新录入中...),NBA 2K20球员热区、NBA 2K20球员徽章(可根据2k20徽章自己猜测ol2徽章,自行斟酌),2k20数据可一键【转化ol2】(仅供参考)。

照例先看结果,每个点是一次投篮,蓝色点是投中,红色点是未中。挑几个有特点的:

以下列取球队部分球员。查看球员详细数据,请在***/小程序查询详情。

哈登,魔球得很明显了,长两分这种低效率的事绝对不干

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图8)

*转化后的部分ol2属性因无法与NBA2k20匹配,故暂时以“--”显示。此项可能需要重新计算。

推送数据只列取升降大于等于>=3的属性,变化范围小于3的请在***查询或点击下方小程序链接查看。

布莱克·格里芬点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据

能力:97→99(↑2)
原地近距离投篮:93→97(↑4)
横向移动速度:57→66(↑9)
运球抢断:32→37(↑5)
中距离空位投篮:66→45(↓21)
挡拆防守智商:75→59(↓16)
突破灌篮:114→107(↓7)
速度:78→70(↓8)
持球移动速度:71→68(↓3)
敏捷:78→75(↓3)

西蒙斯,古典中锋

安德鲁·德拉蒙德点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据原地近距离投篮:80→84(↑4)
控球:42→45(↑3)
传球视野:28→33(↑5)
进攻篮板:108→114(↑6)
运球抢断:77→82(↑5)
能力:97→96(↓1)
突破上篮:90→87(↓3)
中距离空位投篮:60→47(↓13)
三分空位投篮:45→42(↓3)
传球智商:90→73(↓17)
防守稳定性:95→80(↓15)
挡拆防守智商:87→52(↓35)
突破灌篮:102→95(↓7)
速度:64→54(↓10)
持球移动速度:32→27(↓5)
敏捷:52→48(↓4)
投篮智商:102→73(↓29)
进攻稳定性:95→87(↓8)雷杰·杰克逊点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据

背身后仰跳投:45→48(↑3)
背身控制:25→28(↑3)
中距离空位投篮:96→99(↑3)
进攻篮板:31→35(↑4)
防守篮板:42→46(↑4)
盖帽:28→32(↑4)
运球抢断:37→40(↑3)
挡拆防守智商:75→78(↑3)
低位防守智商:46→49(↑3)
力量:45→48(↑3)
原地近距离投篮:95→85(↓10)
持球移动速度:99→93(↓6)

德里克·罗斯点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据中距离空位投篮:96→101(↑5)
进攻篮板:32→37(↑5)
防守篮板:42→45(↑3)
运球抢断:34→38(↑4)
防守稳定性:37→40(↑3)
突破灌篮:32→35(↑3)
能力:90→87(↓3)
原地近距离投篮:83→80(↓3)
速度:99→96(↓3)
持球移动速度:101→96(↓5)
敏捷:99→96(↓3)卢克·肯纳德点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据背身钩射:25→28(↑3)
背身控制:32→35(↑3)
罚球:89→93(↑4)
进攻篮板:25→29(↑4)
横向移动速度:60→66(↑6)
运球抢断:32→36(↑4)
防守稳定性:26→30(↑4)
低位防守智商:32→35(↑3)
原地灌篮:26→30(↑4)
突破灌篮:37→40(↑3)
力量:37→40(↑3)
原地近距离投篮:102→97(↓5)
速度:76→68(↓8)
持球移动速度:66→61(↓5)
敏捷:66→61(↓5)马基夫·莫里斯点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据能力:78→80(↑2)
原地近距离投篮:75→93(↑18)
控球:39→42(↑3)
传球视野:32→37(↑5)
传球准确性:41→44(↑3)
进攻篮板:45→49(↑4)
运球抢断:38→41(↑3)
中距离空位投篮:96→75(↓21)
挡拆防守智商:69→42(↓27)
速度:66→57(↓9)
持球移动速度:38→34(↓4)
敏捷:48→44(↓4)克里斯蒂安·伍德点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据控球:32→35(↑3)
传球视野:25→29(↑4)
传球智商:37→40(↑3)
传球准确性:26→30(↑4)
防守篮板:66→99(↑33)
防守稳定性:32→35(↑3)
原地近距离投篮:87→76(↓11)
进攻篮板:73→60(↓13)
盖帽:93→76(↓17)
运球抢断:61→41(↓20)
挡拆防守智商:65→51(↓14)
低位防守智商:78→71(↓7)
速度:65→56(↓9)
持球移动速度:48→44(↓4)
敏捷:64→59(↓5)布鲁斯·布朗点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据

能力:75→77(↑2)
背身后仰跳投:31→34(↑3)
背身钩射:25→28(↑3)
背身控制:39→42(↑3)
罚球:76→80(↑4)
传球视野:32→37(↑5)
进攻篮板:39→42(↑3)
运球抢断:37→42(↑5)
原地灌篮:26→30(↑4)
突破灌篮:37→40(↑3)
速度:87→82(↓5)
持球移动速度:87→78(↓9)
敏捷:87→84(↓3)

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图9)

德拉赞,中投小王子

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图10)

字母哥,篮下都给你扣糊了!

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图11)

库里,这个得放全场……

托尼·斯内尔点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据

背身后仰跳投:45→48(↑3)
背身钩射:29→33(↑4)
背身控制:40→43(↑3)
造犯规:41→44(↑3)
传球视野:29→32(↑3)
进攻篮板:32→37(↑5)
防守篮板:45→48(↑3)
运球抢断:32→36(↑4)
低位防守智商:37→40(↑3)
原地灌篮:32→35(↑3)
力量:45→48(↑3)
中距离空位投篮:75→47(↓28)
速度:78→70(↓8)
持球移动速度:65→60(↓5)
敏捷:73→69(↓4)

兰斯顿·加洛维点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据背身后仰跳投:33→37(↑4)
背身控制:25→28(↑3)
传球视野:29→33(↑4)
进攻篮板:34→39(↑5)
横向移动速度:73→77(↑4)
盖帽:32→35(↑3)
运球抢断:33→37(↑4)
防守稳定性:37→40(↑3)
低位防守智商:26→30(↑4)
力量:45→48(↑3)
进攻稳定性:42→45(↑3)
原地近距离投篮:95→91(↓4)
速度:83→76(↓7)
持球移动速度:83→75(↓8)蒂姆·弗雷泽尔点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据

背身后仰跳投:28→32(↑4)
三分空位投篮:82→87(↑5)
进攻篮板:40→44(↑4)
盖帽:28→35(↑7)
运球抢断:37→40(↑3)
防守稳定性:26→30(↑4)
挡拆防守智商:66→71(↑5)
力量:28→32(↑4)
原地近距离投篮:80→59(↓21)
速度:95→90(↓5)
持球移动速度:95→90(↓5)

索恩·马克点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据

造犯规:45→48(↑3)
原地近距离投篮:80→85(↑5)
罚球:64→69(↑5)
传球视野:28→32(↑4)
传球智商:28→32(↑4)
运球抢断:34→37(↑3)
能力:77→76(↓1)
中距离空位投篮:84→76(↓8)
三分空位投篮:80→76(↓4)
横向移动速度:70→63(↓7)
挡拆防守智商:63→45(↓18)
低位防守智商:58→54(↓4)
速度:78→70(↓8)
持球移动速度:65→60

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图12)

斯维亚托斯拉夫·米哈伊柳克点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据塞古·敦布亚点击查看NBA 2K20(详细数据、热区、徽章)&转化ol2数据

开服后大更新数据升降走势图

科比,生涯累计图,全方位无死角,包括篮板后负角度

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图13)

nba2kol2球员数据测评

数据|资讯|对比|筛选|测评|热区

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图14)NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图15)

小程序:nba2k游戏助手

下面来看具体步骤,我们以刚刚获得本赛季冠军戒指的林书豪作为例子。

1. 获取数据

NBA 有一个官方统计网站:stats.nba.com,上面有各种数据,可以说是一个宝藏了。

(筛选、对比,免费兑换球星包、游戏点券道具)

从网页上,我没有找到这次所需的数据。但通过一番搜索,我找到了网站的开放接口 API。相关的接口和文档你可以从这个项目里查看:

球员高级筛选(ol1、ol2、2k20)

nba_py - stats.nba.com API for python

球员对比(ol1) | 球员对比(ol2)

https://github.com/seemethere/nba_py/

o1论坛 | ol2论坛 | 2k20论坛

通过以下接口,我们可以获取某个球员在指定赛季的投篮详细数据:

斗鱼:1230779 | QQ群:235692902

https://stats.nba.com/stats/shotchartdetail?CFID=33&CFPARAMS=2018-19&ContextFilter=&ContextMeasure=FGA&DateFrom=&DateTo=&GameID=&GameSegment=&LastNGames=0&LeagueID=00&Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PaceAdjust=N&PerMode=PerGame&Period=0&PlayerID=201935&PlusMinus=N&Position=&Rank=N&RookieYear=&Season=2018-19&SeasonSegment=&SeasonType=Regular+Season&TeamID=0&VsConference=&VsDivision=&mode=Advanced&showDetails=0&showShots=1&showZones=0&PlayerPosition=

其中参数 PlayerID 是查询球员的 ID,这个 ID 可以通过在网页上搜索球员姓名,从对应的 URL 中获取。比如林书豪就是 202391

微博:nba2kol2球员数据测评

https://stats.nba.com/player/202391/

链接中的两处 2018-19 是赛季参数,你可以改成其他赛季,不过我试过不能太早,大约 96 年往前就没数据了,而且早期数据精度要差些。

其他参数可以不用管。

用 requests 库可轻松获取结果(需加上 headers):

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图16)好文章,我在看↓↓↓❤️

response = requests.get(url, headers=headers,timeout=5)

2. 解析数据

返回的数据是 JSON 格式,用 pandas 转成 DataFrame 格式,方便后续处理:

data = response.json()# 获取列名即每项投球数据的意思headers = data['resultSets'][0]['headers']# 获取投球的相关数据shots = data['resultSets'][0]['rowSet']# 转 DataFrameshot_df = pd.DataFrame(shots, columns=headers)

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图17)

我们关心的数据就是 LOC_X、LOC_Y(出手位置)和 SHOT_MADE_FLAG(是否投中)这三列。

3. 绘制投篮点

使用 matplotlib 库的散点图绘制 scatter 方法就可以把投篮点画出来,这个我们之前的各种案例里也用过不少次了:

made = shot_df[shot_df['SHOT_MADE_FLAG']==1]miss = shot_df[shot_df['SHOT_MADE_FLAG']==0]plt.scatter(miss.LOC_X, miss.LOC_Y, color='r', marker='.', alpha=0.3)plt.scatter(made.LOC_X, made.LOC_Y, color='b', marker='.', alpha=0.3)

我们通过参数设定点的大小和透明度,让显示更清楚。

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图18)

4. 绘制球场

投篮点画出来了,不过只是这样不够直观。我们再来加个球场的图。

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图19)

这个是通过 matplotlib 里的 Circle、Rectangle、Arc 等方法拼出来的,没啥特别的技术,但代码比较繁琐,这边就不贴了。(只要你愿意,甚至可以用它画出小猪佩奇)

5. 添加头像

最后,再给数据图加上一个头像,让它看起来更完整。头像地址:

https://stats.nba.com/media/players/230x185/202391.png# 或者https://ak-static.cms.nba.com/wp-content/uploads/headshots/nba/latest/260x190/202391.png

文件名依然是球员的 ID,但这个地址并不是对所有球员有效,可做下异常处理。

pic = urllib.request.urlretrieve("http://stats.nba.com/media/players/230x185/202391.png")# imread 读取的图像可以被 matplotlib 绘制head_pic = plt.imread(pic[0])# 将球员图片放置于右上角,并设置缩小等级以配合整个图片img = OffsetImage(head_pic, zoom=0.6)# (x, y) 控制将球员放在你想要放的位置img.set_offset((540,640))# 添加球员图片fig.gca().add_artist(img)

如果在你的电脑上位置不对,记得修改下 offset 的值(不同系统,甚至不同编译器都可能存在差异)。

最终效果:

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图20)

获取原图、更多球员生成的结果及完整代码,请在***“Crossin的编程教室”内回复关键字:nba

其他内容回复左侧关键词获取:

python :零基础入门课程目录

新手 :初学者指南及常见问题

资源 :超过500M学习资料网盘地址

项目 :十多个进阶项目代码实例

如需了解视频课程及答疑群等更多服务,

请号内回复 码上行动

推荐阅读

经验:高考选专业 | Python转行 | 我用Python | 新手建议

干货:如何debug |  一图学Python  | 知乎资源 | 单词表

案例:漫威API | 爬抖音 | 查天气 | 智能防挡弹幕 | 红包提醒

欢迎加入

Crossin的编程教室

crossincode.com

NBA 2K20球员数据一览(活塞队)虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手(图21)

请把我们分享给身边爱学习的小伙伴 :)  

☟点击文末“阅读原文”,先谢过各位的素质三连!