直播网

Python 展示 NBA 球员出手位置偏好,新接口与代码讲解

发布时间: 来源:直播网

一些学生想要代码和解释。另外,当时使用的NBA官方界面现在极不稳定,几乎无法使用,所以我会在这里再发一张图片和文字,简单说明一下代码,以及新的替代界面。

项目代码地址:

NBA 2018-19赛季已经落下帷幕,猛龙队击败勇士队成为新的冠军球队。(注:本文写于2019年)。

我认为做一个与NBA相关的数据分析案例会更好。事实上,数据分析团队已经是当今NBA球队的标准配置,在球员选择和战术方面发挥着重要作用。目前,在整个联盟中越来越流行的“魔球”打法,其实是一种基于数据分析的产品。

那么,借助官方数据和剧情功能,让我们来看看不同玩家在哪里出手和出手。

0.效果显示

像往常一样,先看结果,每个点都是一杆,蓝点是一杆,红点是一杆。选择一些具有特征的:

哈登,魔球很明显,两分这样低效的事情绝对做不到

西蒙斯

德拉赞,CIC的小王子

字母哥,篮筐全是给你扣篮的!

库里,这必须......全庭

科比·布莱恩特,生涯积累图,四面八方没有死胡同,包括篮板后的负角度

让我们以 Lin 为例看一下这些步骤。

1. 获取数据

NBA有一个官方统计网站,里面有各种数据,可以说是一个宝库。

从网页上,这次我没有找到我需要的数据。但经过一番搜索,我找到了该网站的开放接口 API。您可以查看此项目中的相关接口和文档

- API 用于

我们可以通过以下界面获取球员在给定赛季中投篮的详细数据:

+&=0&=&=&模式=&=0&=1&=0&=

参数为玩家的ID,可以通过在网页上搜索玩家的名字从对应的URL获取。例如nba球员位置图,林书豪是

链接中的两个地方 2018-19 是季节参数,可以换成其他季节,但我尽量不要太早,96年前没有数据,早期数据不太准确。

其他参数可以不予理睬。

使用库(带 :).

=.get(url,=,=5)

注意:如果您无法请求上述拍摄详细信息,则此界面不再有效。所以我又寻找了 2 个替代方案:

1. 使用他人下载的数据:

2.付费API服务:可以免费试用一周,足够练习一次了(但有些玩家缺少赛季数据)。

在这里,我将讨论第二种方法。从上面的地址点击查看界面和说明。注册nba球员位置图,获取它,您就可以开始了。

接口地址:

参数:

- 玩家 ID

-季节

例如,获取林书豪的 2013-14 赛季:

2. 解析数据

返回的数据为JSON格式,转换为后续处理的格式

数据 = r.json()

= PD.(数据)

我们关心的数据是loc_x、loc_y(投篮位置)和(投篮与否)三列。

3.画出射击点

您可以使用库的散点图方法绘制拍摄点,我们在以前的各种情况下已经多次使用过这种方法:

made = [['']==1]

小姐 = [['']==0]

PLT。(miss.loc_x, miss.loc_y, color='r', ='.', alpha=0.3)

PLT。(made.loc_x, made.loc_y, color='b', ='.', alpha=0.3)

我们通过设置参数设置点的大小和透明度来使其更加清晰。

4. 画出音高

拍摄点已经画好了,但不够直观。让我们添加一张体育场的图片。

这是通过in、、Arc等方法拼出来的,没有特别的技术,但是代码比较繁琐,这里就不发了。(如果你愿意,你甚至可以用它画小猪佩奇)。

5.添加头像

最后,在数据图中添加一个头像,使其看起来更完整。头像地址:

文件名仍然是玩家的 ID,但此地址并非对所有玩家都有效。

图片 = ..("")

# 可绘制读取图像

= PLT。(图[0])

# 将玩家图片放在右上角,并设置缩小关卡以匹配整个画面

img = (, 缩放=0.6)

# (x,y) 控件nba球员位置图,用于将播放器放置在您想要放置的位置

图像。((540,640))

# 添加玩家图片

图.gca()。(图片)

如果它不在计算机上的正确位置,请记住更改该值(它可能因系统而异,甚至因编译器而异)。

最终结果:

项目代码地址:

一起学习,而不是孤军奋战

Wonro 的编程课 @

标签: python分析出nba球员的位置_【圆