NBA 投篮数据可视化,4 行代码就能实现!

2020 年 10 月 15 日 CSDN
作者 | 小F
来源 | 法纳斯特(ID:walker398)

头图 |  CSDN 下载自东方IC

之前小F说了G6湖人总冠军,果不其然湖人夺冠了。
不过硬实力摆在那里,说不说其实关系也不大,哈哈哈。
36岁的老詹还没有老,4座总冠军+4次FMVP。
关于NBA球员投篮数据的可视化,小F以前也写过一篇文章。
访问地址: NBA球员投篮数据可视化
自己画球场图,自己爬数据,码了不少代码。
这回发现了大佬造的轮子,只需4行代码就能实现
GitHub地址:
https://github.com/theccalderon/shot_chart
在PyCharm上直接安装shot-chart库,记得版本选1.0.0的。
最新版本是1.1.0,得分和未得分没有明显区分开,所以小F选择安装1.0.0版本。
大伙也可以两个版本都下载安装,看有什么差异。
from shot_chart.core import *
# 2019-2020赛季shots_2019 = make_df(untar_data(URLs.SHOTS_2019))

同样的这位大佬也是把数据放在网络上,需要通过数据请求才能获取到。

此处小F通过查看源代码(core.py),发现数据的请求地址。

地址如下,从2000-2001赛季到2019-2020赛季。

# 2000-2001赛季常规赛数据https://nba-shot-charts.s3.amazonaws.com/shots-2000.tgz.......................................................# 2019-2020赛季常规赛数据https://nba-shot-charts.s3.amazonaws.com/shots-2019.tgz

直接在浏览器上访问地址,下载压缩包,解压得到CSV文件。

果然是2019-2020年NBA常规赛的球员投篮数据。

统统下载下来,这样就可以直接本地调用,不用担心被墙掉。

数据读取代码修改为如下,其实就是pandas读取
from shot_chart.core import *
# 2019-2020赛季shots_2019 = make_df('shots-2019.csv')

2020赛季NBA的球队名单,调用函数list_teams

from shot_chart.core import *
# 2019-2020赛季shots_2019 = make_df('shots-2019.csv')
# 球队名单print(list_teams(shots_2019))

得到结果如下。

可惜了LA Clippers(快船)和Milwaukee(雄鹿)。

两大夺冠热门球队,被掘金和热火干翻船了。

今年湖人的夺冠班底,调用函数list_team_players

from shot_chart.core import *
# 2019-2020赛季shots_2019 = make_df('shots-2019.csv')
# 湖人夺冠班底print(list_team_players(shots_2019, 'LA Lakers'))

得到结果如下。

还附带了出手次数,詹姆斯、戴维斯、库兹马、波普、格林排前五。

卧龙凤雏(格林、波普)得一,可安天下。

昨天发挥爆表,小F给好评~

湖人2020年常规赛全队的投篮情况,调用函数TeamShots。

from shot_chart.core import *
# 2019-2020赛季shots_2019 = make_df('shots-2019.csv')
# 湖人队2019-2020赛季投篮情况Lakers = TeamShots(shots_2019, "LA Lakers")Lakers.plot_shots()

果然是4行代码呀~

左边的图绿色表示投篮得分,红色表示投篮未得分

右边的图横坐标表示距离纵坐标表示次数绿色表示出手命中次数橙色表示投篮出手次数

FG投篮命中率,eFG真实投篮命中率。

真实投篮命中率=全场得分/[2×全场出手次数+0.44×罚球出手次数]

来看一下三旬老汉(老詹)的投篮情况吧。

from shot_chart.core import *
# 2019-2020赛季shots_2019 = make_df('shots-2019.csv')
# 勒布朗-詹姆斯2019-2020赛季常规赛投篮可视化james = PlayerShots(shots_2019, "LeBron James")james.plot_shots()

可以看出,篮下是詹姆斯的主要得分点。

03年至20年,小皇帝到詹皇的投篮数据可视化。

from shot_chart.core import *import pandas as pd
# 获取图表列名shots_2000 = make_df('shots-2000.csv')columns_list = [column for column in shots_2000]
# 新建一个空的dataframeshots_all = pd.DataFrame(columns=columns_list)
# 获取2000-2020常规赛总数据for i in range(2001, 2020): # 文件名 file_name = 'shots-' + str(i) + '.csv' shots = make_df(file_name) # 纵向拼接 shots_all = pd.concat([shots_all, shots], ignore_index=True)
# 输出# print(shots_all)# 詹姆斯03-20常规赛投篮可视化james = PlayerShots(shots_all, "LeBron James")james.plot_shots()


发现图标有点大,可以对core.py文件修改。

在plt.scatter中添加参数s,设置大小为3。

突然发现詹皇原来也如此全面,三分、篮下、中投,就没有短板。

24号与23号之间的传承,曼巴永存。

# 科比00-17常规赛投篮可视化Kobe = PlayerShots(shots_all, "Kobe Bryant")Kobe.plot_shots()

24,就是24小时都全力以赴。

再看看今年随队夺冠的霍师傅(霍华德)。

# 霍华德04-20常规赛投篮可视化howard = PlayerShots(shots_all, "Dwight Howard")howard.plot_shots()

绝大多数都是内线投篮,外线屈指可数。

曾经的快乐兽,单换詹姆斯的存在,后来却开启了流浪生涯沦为替补。

最后在湖人浪子回头,当起了蓝领,拿到了属于自己的总冠军。

心中有一种莫名的感动,致敬我们的青春!!!

20个CSV文件我已上传公众号法纳斯特,回复「NBA」即可获取。

更多精彩推荐

官宣!1024 程序员节日程发布,第一代程序员求伯君将出席大会

开发者注意!盘一盘 iOS 14 中 Swift 和 SwiftUI 的使用情况

近 9 成大学生支持学校开设恋爱课!| 每日趣闻

四款 5G 版 iPhone 12 齐发,支持北斗系统,你准备好了吗?

听说你的模型训练耗时太长?来昇腾开发者沙龙找解决方案

8000字 | 32 张图 | 一文搞懂事务+隔离级别+阻塞+死锁

今年至少有75家交易所关闭,近半数没有说明原因

  
  
    
点分享
点点赞
点在看
登录查看更多
0

相关内容

数据可视化是关于数据之视觉表现形式的研究。
【2020新书】使用R和Python的高级BI分析,425页pdf
专知会员服务
31+阅读 · 2020年10月14日
《常微分方程》笔记,419页pdf
专知会员服务
70+阅读 · 2020年8月2日
手写实现李航《统计学习方法》书中全部算法
专知会员服务
47+阅读 · 2020年8月2日
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
160+阅读 · 2020年5月14日
Keras作者François Chollet推荐的开源图像搜索引擎项目Sis
专知会员服务
29+阅读 · 2019年10月17日
AWVS12 V12.0.190530102 windows正式版完美破解版
黑白之道
29+阅读 · 2019年8月24日
wafw00f 简单利用
黑白之道
10+阅读 · 2019年6月23日
手把手教你用Python做一个哄女友神器,小白可上手
网易智能菌
5+阅读 · 2019年6月15日
使用 Canal 实现数据异构
性能与架构
20+阅读 · 2019年3月4日
R语言实现聚类kmeans
R语言中文社区
3+阅读 · 2019年2月14日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
干货 | 用 Keras 实现图书推荐系统
AI科技评论
11+阅读 · 2018年12月15日
实战 | 40行代码实现人脸识别
七月在线实验室
3+阅读 · 2018年3月7日
手把手教你搭建caffe及手写数字识别
七月在线实验室
12+阅读 · 2017年11月22日
手把手教TensorFlow(附代码)
深度学习世界
15+阅读 · 2017年10月17日
Arxiv
0+阅读 · 2020年11月26日
Advances and Open Problems in Federated Learning
Arxiv
17+阅读 · 2019年12月10日
Learning Recommender Systems from Multi-Behavior Data
VIP会员
相关VIP内容
相关资讯
AWVS12 V12.0.190530102 windows正式版完美破解版
黑白之道
29+阅读 · 2019年8月24日
wafw00f 简单利用
黑白之道
10+阅读 · 2019年6月23日
手把手教你用Python做一个哄女友神器,小白可上手
网易智能菌
5+阅读 · 2019年6月15日
使用 Canal 实现数据异构
性能与架构
20+阅读 · 2019年3月4日
R语言实现聚类kmeans
R语言中文社区
3+阅读 · 2019年2月14日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
干货 | 用 Keras 实现图书推荐系统
AI科技评论
11+阅读 · 2018年12月15日
实战 | 40行代码实现人脸识别
七月在线实验室
3+阅读 · 2018年3月7日
手把手教你搭建caffe及手写数字识别
七月在线实验室
12+阅读 · 2017年11月22日
手把手教TensorFlow(附代码)
深度学习世界
15+阅读 · 2017年10月17日
Top
微信扫码咨询专知VIP会员