1.在这个数据分析案例中,我做了一个视频版本,解读了代码,讲了操作的注意事项和一些不是的东西,供求关系。我在视频制作方面不是很有经验,所以我更具包容性。(视频中有彩蛋
.)
)
同样之前上传了B站的副本,点击文章末尾“阅读原文”直接去,喜欢的请支持我。
2.案件代码写好后,我发到了Tiger 上。结果,它被推荐到主页上,有超过25万的浏览量和近800条回复......谢谢JR的脸!
3.如需获取原图、更多玩家生成的结果和完整代码,请在公众号的“编程教室”中回复关键词:NBA
NBA 2018-19赛季已经落下帷幕,猛龙队击败勇士队成为新的冠军球队。
我认为做一个与NBA相关的数据分析案例会更好。事实上,数据分析团队已经是当今NBA球队的标准配置,在球员选择和战术方面发挥着重要作用。目前,在整个联盟中越来越流行的“魔球”打法,其实是一种基于数据分析的产品。
那么,借助官方数据和剧情功能,让我们来看看不同玩家在哪里出手和出手。
0.效果显示
像往常一样,先看结果,每个点都是一杆,蓝点是一杆,红点是一杆。选择一些具有特征的:
哈登,魔球很明显,两分这样低效的事情绝对做不到
西蒙斯,古典中心
德拉赞,CIC的小王子
字母哥,篮筐全是给你扣篮的!
库里,这必须......全庭
科比·布莱恩特,生涯积累图,四面八方没有死胡同,包括篮板后的负角度
让我们来看看这些步骤,但让我们以本赛季刚刚拿到总冠军戒指的林书豪为例。
1. 获取数据
NBA有一个官方统计网站,里面有各种数据,可以说是一个宝库。
从网页上,这次我没有找到我需要的数据。但经过一番搜索,我找到了该网站的开放接口 API。您可以查看此项目中的相关接口和文档
- API 用于
我们可以通过以下界面获取球员在给定赛季中投篮的详细数据:
+&=0&=&=&模式=&=0&=1&=0&=
参数为被查询玩家的ID,通过在网页上搜索玩家名称,可以从对应的URL获取该ID。例如,林书豪是
链接中的两个地方 2018-19 是季节参数,可以换成其他季节,但我尽量不要太早,96年前没有数据,早期数据不太准确。
其他参数可以不予理睬。
这
使用库(带有 :).
= .get(网址, =,=5)
2. 解析数据
返回的数据为JSON格式,转换为后续处理的格式
data = .json # 获取列名是每个音高的含义 = data[''][0][''] # 获取音高数据 shots = data[''][0]['''] # turn = pd. (shotsnba球员高中数据 虎扑, =)
我们关心的数字是LOC_X、LOC_Y(拍摄地点)和(是否拍摄)。
3.画出射击点
您可以使用库的散点图方法绘制拍摄点,我们在以前的各种情况下已经多次使用过这种方法:
made= [['']==1] miss = [['']==0] plt.(小姐。LOC_X,小姐。LOC_Ynba球员高中数据 虎扑,color='r'nba球员高中数据 虎扑, ='.', alpha=0.3) plt.(制造。LOC_X,制造。LOC_Y, color='b', ='.', alpha=0.3)
我们通过设置参数设置点的大小和透明度来使其更加清晰。
4. 画出音高
拍摄点已经画好了,但不够直观。让我们添加一张体育场的图片。
这是用“in”、“Arc”等方法拼出来的,没有特别的技术,只是代码比较繁琐,这里就不发了。(如果你愿意,你甚至可以用它画小猪佩奇)。
5.添加头像
最后,在数据图中添加一个头像,使其看起来更完整。头像地址:
# 或
文件名仍然是玩家的 ID,但此地址并非对所有玩家都有效。
图片 = ..(“”) # 可绘制读取图像 = plt。(pic[0]) # 将播放器图像放在右上角,并设置缩放级别以匹配整个图像 img = (, zoom=0.6) # (x, y) 控件将播放器放置在要放置 img 的位置。((540,640)) # 添加玩家图片 fig.gca.(图片)
如果它不在计算机上的正确位置,请记住更改 的值(它可能因系统而异,甚至因编译器而异)。
最终结果:
如需获取原始图片、更多玩家生成的结果和完整代码,请在公众号“编程课堂”中回复关键字:NBA。