Python数据分析!NBA的球星们喜欢在哪个位置出手!

python爬虫+数据分析之NBA球员LBJ13个赛季的数据分析 python爬虫最近在看数据分析的书籍,想着自己分析一点东西来,本人比较喜欢NBA,自然就先拿NBA作为分析的对象了,首先要获得最全的NBA数据,根据搜索的结果对比发现,stat-nba.com该网站的数据非常全面详细,真是业界良心。 数据源找到后第一件事情自然就是获取数据,这里用python的原生代码直接爬取的,个人觉的,beautifulSoup还是比较好的,只是一开始没有用,也就后来没用了, 阅读详情

前言

1. 这篇数据分析案例,我做了个 视频版本 ,对代码做了解读,讲了运行的注意事项和一些有的没的,供需。对于视频制作还不是很有经验,多包涵。(视频里有彩蛋)

 

 

 

 

NBA球星出手点分布 https://www.zhihu.com/video/1129401682580348928 2. 本文在案例的代码写完后,我把它发在了 虎扑 上。结果,被推荐上了首页, 25万多次浏览,近800回复 ……感谢各位JRs赏脸!

Python学习交流群:1004391443

 

 

 

 

3. 获取原图、更多球员生成的结果及完整代码,请在公众号“ Crossin的编程教室 ”内回复关键字: nba

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

NBA 2018-19 赛季已经落下帷幕,猛龙击败勇士,成为新科冠军球队。

我想,不如来做个 NBA 相关的数据分析 案例好了。实际上,数据分析团队对于现在的 NBA 球队已经算是标配了,无论是在球员选择还是战术制定上都起着重要的作用。当下整个联盟越来越盛行的“ 魔球化 ”打法,其实也正是基于数据分析的产物。

 

 

 

 

 

 

 

 

于是,我们就借助 官方数据 和 Python 的绘图函数 ,来看一看 不同的球员都是在什么位置出手投篮的 。

0. 效果展示

照例先看结果,每个点是一次投篮, 蓝色点是投中,红色点是未中 。挑几个有特点的:

哈登 ,魔球得很明显了,长两分这种低效率的事绝对不干

 

 

 

 

西蒙斯 ,古典中锋

 

 

 

 

德拉赞 ,中投小王子

 

 

 

 

字母哥 ,篮下都给你扣糊了!

 

 

 

 

库里 ,这个得放全场……

 

 

 

 

科比 ,生涯累计图,全方位无死角,包括篮板后负角度

 

 

 

 

下面来看具体步骤,我们以刚刚获得本赛季冠军戒指的林书豪作为例子。

1. 获取数据

NBA 有一个官方统计网站: http:// stats.nba.com ,上面有各种数据,可以说是一个宝藏了。

从网页上,我没有找到这次所需的数据。但通过一番搜索,我找到了网站的开放接口 API。相关的接口和文档你可以从这个项目里查看:

nba_py - http:// stats.nba.com API for python

https:// github.com/seemethere/n ba_py/

通过以下接口,我们可以获取某个球员在指定赛季的投篮详细数据:

https:// stats.nba.com/stats/sho tchartdetail?CFID=33&CFPARAMS=2018-19&ContextFilter=&ContextMeasure=FGA&DateFrom=&DateTo=&GameID=&GameSegment=&LastNGames=0&LeagueID=00&Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PaceAdjust=N&PerMode=PerGame&Period=0&PlayerID=201935&PlusMinus=N&Position=&Rank=N&RookieYear=&Season=2018-19&SeasonSegment=&SeasonType=Regular+Season&TeamID=0&VsConference=&VsDivision=&mode=Advanced&showDetails=0&showShots=1&showZones=0&PlayerPosition=

其中参数 PlayerID 是查询球员的 ID,这个 ID 可以通过在网页上搜索球员姓名,从对应的 URL 中获取。比如林书豪就是 202391

https:// stats.nba.com/player/20 2391/

链接中的两处 2018-19 是赛季参数,你可以改成其他赛季,不过我试过不能太早,大约 96 年往前就没数据了,而且早期数据精度要差些。

其他参数可以不用管。

用 requests 库可轻松获取结果(需加上 headers):

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

2. 解析数据

返回的数据是 JSON 格式,用 pandas 转成 DataFrame 格式,方便后续处理:

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

 

 

 

 

 

我们关心的数据就是 LOC_X 、 LOC_Y (出手位置)和 SHOT_MADE_FLAG (是否投中)这三列。

3. 绘制投篮点

使用 matplotlib 库的散点图绘制 scatter 方法就可以把投篮点画出来,这个我们之前的各种案例里也用过不少次了:

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. 绘制球场

投篮点画出来了,不过只是这样不够直观。我们再来加个球场的图。

 

 

 

 

这个是通过 matplotlib 里的 Circle 、 Rectangle 、 Arc 等方法拼出来的,没啥特别的技术,但代码比较繁琐,这边就不贴了。(只要你愿意,甚至可以用它画出小猪佩奇)

5. 添加头像

最后,再给数据图加上一个头像,让它看起来更完整。头像地址:

https:// stats.nba.com/media/pla yers/230x185/202391.png

或者

https:// ak-static.cms.nba.com/w p-content/uploads/headshots/nba/latest/260x190/202391.png

文件名依然是球员的 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)

如果在你的电脑上位置不对,记得修改下 offset 的值(不同系统,甚至不同编译器都可能存在差异)。

最终效果:

 

 

 

基于Python的机器学习K-means聚类分析NBA球员案例 代码,介绍,数据源,效果展示 立即下载

相关推荐

python生成NBA球员赛季生涯投篮分布图.zip

1. 如果只运行这个代码,运行 nba.py 文件即可。但需要额外安装三个库:requests、matplotlib、pandas 2. 会用 Jupyter 的,强烈建议用 Jupyter 跑。 3. 用户ID需手动输入,可从 https://stats.nba.com/players/ 这里查找 4. 不同电脑上跑,头像的位置可能会错位,可以在代码里调一下 img 的数字 5. 也可以跑其他赛季,只要搜索代码里的 2018-19,改成其它的就行

利用Python进行NBA比赛数据分析

利用Python进行NBA比赛数据分析 一、实验介绍 1.1 内容简介 不知道你是否朋友圈被刷屏过nba的某场比赛进度或者结果?或者你就是一个nba狂热粉,比赛中的每个进球,抢断或是逆转压哨球都能让你热血沸腾。除去观赏精彩的比赛过程,我们也同样好奇比赛的结果会是如何。因此本节课程,将给同学们展示如何使用nba比赛的以往统计数据,判断每个球队的战斗力,及预测某场比赛中的结果。

oxuzhenyi的博客 2万+

临床预测模型R语言全流程实战:从建模到Bootstrap验证的完整代码

临床预测模型是利用患者特征预测疾病结局发生概率的重要统计工具,其核心在于通过Logistic回归或Cox比例风险模型建立风险函数,并借助ROC曲线、校准曲线等指标评估模型的区分度与校准度。Bootstrap内部验证和DCA决策曲线分析则是当前审稿人关注的焦点,前者用于校正过拟合带来的乐观估计,后者用以判断模型在临床决策中的实际净获益。在肿瘤预后、慢病风险评估等场景中,基于R语言的模型构建与列线图可视化已成为论文发表的关键环节。本文以survival包自带肺癌数据为例,系统展示从数据预处理、变量筛选到多因素建

weixin_33483304的博客 243

NBA球员数据爬取可视化展示(Python爬虫+spring-boot的前后端分离+echarts数据可视化)

摘要: 本项目基于Python爬虫、Spring Boot前后端分离和ECharts数据可视化技术,实现NBA球员数据的爬取、存储与展示。使用Python爬取NBA官网球员数据(得分、命中率等),存储至MySQL数据库;Spring Boot后端提供RESTful API;前端通过ECharts动态渲染球员数据图表(如得分排名、场次统计)。开发工具包括PyCharm、IDEA和HBuilder,技术栈涵盖Python、Spring Boot、MySQL及ECharts,为篮球爱好者提供直观的数据分析平台。项

毕业作品网站 1789

【前端HTML生成条形码——MQ】

本文将展示前端HTML如何根据用户输入内容生成对应的条形码,附HTML和JS代码。代码如下(示例):

weixin_42588676的博客 1955

卷积码和Turbo码

通信原理相关博文目录:目录我们常在移动通信中遇到的卷积码就是一种非分组码,卷积码和信号处理中的卷积运算有关系吗?是不是就是信号处理中的卷积运算,先看看编码器的编码原理再说:下面是一个比较实用的卷积码编码器:它有三个移位寄存器D0,D1,D2和三个模2加法器,以及一个旋转开关组成,编码前,先将各级移位寄存器清零:现在假设输入的信息码元是1101:当输入的第一个码元为1时,三个模2加法器计算的结果都为...

Reborn Lee 2万+

Python爬虫项目之NBA球员可视化分析

Python爬虫学习之NBA球员可视化分析 前言 最近刚上完Python选修课,一直挺喜欢Python的,觉得Python的简洁优美的代码像是在写诗一样让人看了赏心悦目,其次就是他强大的第三方库是其他语言所不能媲美的.有很多你需要用的功能,其实不需要学习他的底层架构,大多数情况下只用知道他的api接口就足够了.最后就是Python的爬取数据,科学计算的功能与最近很火的AI接轨,符合时代潮流 这次项目是来源于学校在假期的一个实训项目,由于自己是一名资深篮球爱好者,所以就选了这个项目. 文章目录Python爬虫

weixin_43631377的博客 8924

Oracle数据库RMAN异机恢复保姆级教程,按照步骤来操作,一次就成功!

本文深入解析RMAN异机恢复四大核心场景(演练、数据恢复、故障应急、测试环境搭建),提供从备份到验证的完整步骤和实战脚本。包含RAC到单机迁移技巧、路径调整、常见报错解决方案,助你彻底掌握数据库恢复的“救命技能”。DBA必备干货,强烈推荐

Jackyimi的博客 940

用Python分析NBA球员技术

背景12011年12月27日,尼克斯用一份无保障合同签下林书豪,23场比赛中,他总共只出场55分钟。2豪哥在采访中说到,“你找我来连练习场都不让上,更不用说正式比赛了”3...

Python中文社区 2687

黑马程序员Pink的javaScript课程APIday4

本文摘要:介绍了JavaScript中日期对象的实例化方法(有参/无参)及三种获取时间戳的方式。讲解了DOM节点操作,包括节点查找(父、子、兄弟节点)、增加/克隆/删除节点的方法。详细说明了移动端touch事件和Swiper插件的使用,包括自动播放和小圆点配置。最后提及学成在线案例中表单验证和取消默认跳转的实现。

JLY19970726的博客 825

谈谈 FOC和BLDC 电机控制

更具体地说,通过 “Park 变换”,我们可以把三相交流电流信号转换成两相直流电流信号,从而可以把三相交流电机的控制变得和两相直流电机控制一样简单。在内环 “电流环”中,一些比较重要的模块有 “Clark 变换” 和 “Park 变换” 等数学模块、电机电流信号检测模块以及能够提供电机的转速和转角位置信息的模块。日前,Qorvo 电机控制应用高级系统/应用工程师张绍发表了一个与 BLDC 和 FOC 相关的演讲,科普了 FOC 的相关知识,还讲解了 Qorvo 用于简化 FOC 实施方案的方法。

U_YAO的博客 2118

[Python数据分析]NBA的球星们喜欢在哪个位置出手

前言 1. 这篇数据分析案例,我做了个视频版本,对代码做了解读,讲了运行的注意事项和一些有的没的,供需。对于视频制作还不是很有经验,多包涵。(视频里有彩蛋) 2. 本文在案例的代码写完后,我把它发在了虎扑上。结果,被推荐上了首页,25万多次浏览,近800回复……感谢各位JRs赏脸! 3. 获取原图、更多球员生成的结果及完整代码,请在公众号“Crossin的编程教室”内...

1504

PaddleOCR多进程GPU推理实战:200万图片高效处理方案

本文详细介绍了PaddleOCR多进程GPU推理在高效处理200万张图片OCR任务中的实战方案。通过优化GPU利用率、多进程并发和关键参数调优,实现了从单进程3000张/小时到8进程3万张/小时的性能飞跃,为大规模OCR处理提供了可靠解决方案。

prometheus9mon的博客 261

Python告诉你NBA球星都喜欢在哪个位置出手?

作者 | Crossin先生 导读:NBA 2018-19 赛季已经落下帷幕,猛龙击败勇士,成为新科冠军球队。近日各队纷纷发布2019-20季前赛赛程,迎接新赛季。 我想,不如来做个 NBA 相关的数据分析案例好了。实际上,数据分析团队对于现在的 NBA 球队已经算是标配了,无论是在球员选择还是战术制定上都起着重要的作用。当下整个联盟越来越盛行的“魔球化”打法,其...

CDA数据分析师 1182

把静态前端托管进 SAP BTP:HTML5 Application Deployer 与企业级内容部署全攻略

本文介绍了在SAP BTP Cloud Foundry环境中使用HTML5 Application Repository托管前端静态资源的工程化实践。通过HTML5 Application Deployer工具,结合MTA描述、路由配置和服务实例,实现前后端解耦和标准化部署。文章详细阐述了目录结构、关键配置文件、MTA编排以及构建部署流程,并针对大体积前端资源提供了GACD和异步上传两种解决方案。最后说明了如何与AppRouter协同工作,使部署内容可供终端用户访问。这套方法使前端更新无需重启后端,支持团队

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 155

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

你知道NBA球星都喜欢在哪个位置出手? Python告诉你

导读:NBA 2018-19 赛季已经落下帷幕,猛龙击败勇士,成为新科冠军球队。近日各队纷纷发布2019-20季前赛赛程,迎接新赛季。 我想,不如来做个NBA 相关的数据分析案例好了。实际上,数据分析团队对于现在的 NBA 球队已经算是标配了,无论是在球员选择还是战术制定上都起着重要的作用。当下整个联盟越来越盛行的“魔球化”打法,其实也正是基于数据分析的产物。 于是,我们就借助官方...

1084

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

python分析出nba球员的位置_你知道NBA球星都喜欢在哪个位置出手? Python告诉你

导读:NBA 2018-19 赛季已经落下帷幕,猛龙击败勇士,成为新科冠军球队。近日各队纷纷发布2019-20季前赛赛程,迎接新赛季。我想,不如来做个NBA 相关的数据分析案例好了。实际上,数据分析团队对于现在的 NBA 球队已经算是标配了,无论是在球员选择还是战术制定上都起着重要的作用。当下整个联盟越来越盛行的“魔球化”打法,其实也正是基于数据分析的产物。于是,我们就借助官方数据和Pytho...

weixin_39631370的博客 561

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

NBA球星生涯数据集分析

实验背景NBA 作为世界上水平最高的篮球联赛,吸引了无数的球迷。每一场 NBA 比 赛都会产生大量的数据信息,如果能够有效地运用这些数据,便可以充分发挥 出其潜在价值。在每年赛季开始之前,大量的媒体专家都会对本赛季 NBA 常规赛的情况进 行预测,这其中球队战绩和明星球员的个人数据是大家着重讨论的话题。及时 而准确的完成对这些数据的预测一方面有利于各球队管理层在赛季进行前采

qq_58012062的博客 5886

python分析出nba球员的位置_Python告诉你NBA球星都喜欢在哪个位置出手?

作者 | Crossin先生导读:NBA 2018-19 赛季已经落下帷幕,猛龙击败勇士,成为新科冠军球队。近日各队纷纷发布2019-20季前赛赛程,迎接新赛季。我想,不如来做个 NBA 相关的数据分析案例好了。实际上,数据分析团队对于现在的 NBA 球队已经算是标配了,无论是在球员选择还是战术制定上都起着重要的作用。当下整个联盟越来越盛行的“魔球化”打法,其实也正是基于数据分析的产物。于是,我们...

weixin_39669629的博客 640

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

原标题:虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手前言1. 这篇数据分析案例,我做了个视频版本,对代码做了解读,讲了运行的注意事项和一些有的没的,供需。对于视频制作还不是很有经验,多包涵。(视频里有彩蛋 )同样,之前上传了B站一份,点文末“阅读原文”可直达,喜欢的话请支持我一下。2. 本文在案例的代码写完后,我把它发在了虎扑上。结果,被推荐上了首页,25万多次浏览,近800回...

weixin_39600837的博客 636

dataframe获取某个内容的位置_NBA球星都喜欢在哪个位置出手?看见科比的统计图我惊呆了...

导读:NBA 2018-19 赛季已经落下帷幕,猛龙击败勇士,成为新科冠军球队。近日各队纷纷发布2019-20季前赛赛程,迎接新赛季。我想,不如来做个NBA 相关的数据分析案例好了。实际上,数据分析团队对于现在的 NBA 球队已经算是标配了,无论是在球员选择还是战术制定上都起着重要的作用。当下整个联盟越来越盛行的“魔球化”打法,其实也正是基于数据分析的产物。于是,我们就借助官方数据和...

weixin_39998541的博客 339

python数据分析代码在哪里找到_[Python数据分析]NBA的球星们喜欢在哪个位置出手...

前言1. 这篇数据分析案例,我做了个 视频版本 ,对代码做了解读,讲了运行的注意事项和一些有的没的,供需。对于视频制作还不是很有经验,多包涵。(视频里有彩蛋)2. 本文在案例的代码写完后,我把它发在了 虎扑 上。结果,被推荐上了首页, 25万多次浏览,近800回复 ……感谢各位JRs赏脸!3. 获取原图、更多球员生成的结果及完整代码,请在公众号“ Crossin的编程教室 ”内回复关键字: nba...

weixin_42504619的博客 437

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

最近看了一篇文章是有关于NBA球员出手数据的可视化案例,原文链接如下。虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手个人感觉比较有趣,所以想着自己也来实...

cainiao_python的博客 4422
上一篇: 初学python,调用固定参,不固定参函数遇到的问题!
下一篇: 10个可以快速用Python进行数据分析的小技巧 !
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值