【数据分析案例】NBA相关数据分析:球星出手点分布等,虎扑25万浏览量
发布时间:2025-02-04 18:27:19  阅读次数:2

1。在此数据分析案例中,我制作了一个视频版本,解释了代码,并讨论了运行的预防措施以及其中一些供应和需求。视频制作不是很有经验,并且包含更多的内容。 (视频中有鸡蛋)

NBA星星分布

2。编写了案件的代码后,我将其发送给老虎。结果,建议我进入主页,观看次数超过250,000,答复了近800个...谢谢大家的脸,享受脸!

3。获取原始图片,更多播放器生成的结果和完整的代码,请回复公共帐户编程教室中的关键字”

--------------------------------

NBA 2018-19赛季已经结束nba球队出手次数统计,猛龙队击败了勇士队,并成为新的冠军队。

我认为最好成为与NBA相关的数据分析案例。实际上,数据分析团队已经是当前NBA团队的标准配置,在玩家选择和战术配方中都起着重要作用。目前越来越普遍的“魔术弹性”游戏实际上是基于数据分析的产品。

因此,我们使用官方数据和绘图功能来查看拍摄不同玩家的位置。

0。效果显示

像往常一样查看结果。每个点一次是一次拍摄的,蓝点被投票,红点不在中间。选择一些特征:

哈登,魔术球很明显,效率低下的事情绝对没有两分。

西蒙斯nba球队出手次数统计,古典中心

,CIC的小王子

字母,您会在篮子下感到困惑!

咖喱,这必须发布...

科比,累积职业,没有各个方面的死亡,包括反弹后的负角度

从下面的特定步骤中看,我们带了杰里米·林霍( Lin Hao),后者本赛季刚刚赢得了冠军戒指。

1。获取数据

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

从网页中,我找不到所需的数据。但是通过一些搜索,我找到了网站的开放接口API。相关接口和文档您可以从此项目中查看:

-api

///

通过以下接口,我们可以在指定季节获得播放器的详细数据:

+&= 0&=&mode =&= 0&= 1&= 0&=

参数是查询玩家的ID。可以通过在网页上搜索播放器名称从相应的URL获得此ID。例如,林·舒霍(Lin )是

链接2018-19的两个地方是季节参数。您可以更改为其他季节,但我已经尝试了太早。在96年之前没有数据,并且早期数据准确性更糟。

可以控制其他参数。

使用库轻松获得结果(需要添加):


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

2。分析数据

返回的数据是JSON格式,该格式将其转换为以下格式以进行遵循-up处理:


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

我们关心的数据是LOC_Xnba球队出手次数统计,LOC_Y(射击位置)和(是否铸造)的三列。

3。画一个射击点

使用库的分散点绘图方法绘制射击点。在我们以前的情况下,这也已多次使用:


 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)

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

4。画体育场

拍摄是绘制的,但不够直观。让我们添加体育场的图片。

这是通过方法,弧和其他方法拼写的。没有什么特殊的技术,但是代码很麻烦,它不会在这里发布。 (只要您愿意,您甚至可以使用它来绘制小猪页面)

5。添加头像

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

或者

文件名仍然是播放器的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)

如果计算机上的位置不正确,请记住修改值(不同的系统,甚至不同的编译器也可能有所不同)。

最终效果:

获取原始图片,更多玩家产生的结果以及完整的代码,请回复公共帐户编程教室中的关键字:NBA:NBA

标签:nba球队出手次数统计