用Python把NBA球员投篮数据可视化

640?wx_fmt=gif


近看了一篇文章是有关于NBA球员出手数据的可视化案例,文链接如下。


虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手


个人感觉比较有趣,所以想着自己也来实现一波。


总体上来说差不多,可能就是美观点吧...



/ 01 / 篮球场


从网上找的篮球场尺寸图,如下。


640?wx_fmt=png


其中单位为英尺,NBA的球场尺寸为94英尺长,50英尺宽。


下图是我用CAD绘制半场尺寸图,本次绘图就是按照下面这个尺寸来的。


640?wx_fmt=png


有了尺寸,接下来就可以使用matplotlib进行绘制篮球场了。


主要是绘制矩形、圆形以及圆弧。


具体代码如下。


 
 


最后得到下图。


640?wx_fmt=png

下面去获取球员的投篮数据。



/ 02 / 投篮数据


投篮数据来源于NBA官方网站——NBA Stats。


640?wx_fmt=png


在这个网页下打开开发者工具,找到下面这个请求。


640?wx_fmt=png


便能获取到球员的投篮数据,本次只获取球员的投篮点及是否得分的数据。


这里以「库里」为例,爬取代码如下。


 
 


获取到的数据如下。


640?wx_fmt=png


其中可以通过设置球员ID以及赛季时间来获取不同的数据。


球员ID和赛季时间可以通过官网中的球员信息网页了解到。



/ 03 / 数据可视化


现在球场有了,投篮数据也有了,就可以来画图了。


使用matplotlib的散点图来实现。


 
 


得到下图。


640?wx_fmt=png


来和官网的图对比一下。


640?wx_fmt=png


看起来还不错,匹配度还是蛮高的。


下面绘制投篮热力图,通过seaborn绘制,代码如下。



得到结果如下。


640?wx_fmt=png


还是来看一下官网的图。


640?wx_fmt=png


两个效果都不错,不过边框我没调好,显得没那么好看。


库里投篮最密集的区域,篮下和三分线。

最后看一下于小F而言,印象比较深的球员,科比霍华德


科比的ID为977,职业生涯时间为1996年到2012年。


640?wx_fmt=png


全线开花,不少负角度投篮,甚至还有超远三分。


640?wx_fmt=gif


霍华德的ID为2730,职业生涯时间为2004年到2019年。


640?wx_fmt=png


魔兽霍华德,屈指可数的三分。


其他都是围绕着篮板的得分。


640?wx_fmt=gif


还有好多球员,就靠大伙自己去看啦!



/ 04 / 总结


好了,本次更文到此结束。


感兴趣的小伙伴可以自行动手,操作一波。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值