本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于法纳斯特 ,作者小F

前言

NBA刚刚结束,怎样对球员投篮数据做可视化?

我发现了大佬造的轮子,只需4行代码就能实现。

在PyCharm上直接安装shot-chart库,记得版本选1.0.0的。

最新版本是1.1.0,得分和未得分没有明显区分开,所以选择安装1.0.0版本。

大伙也可以两个版本都下载安装,看有什么差异。

from shot_chart.core import *

# 2019-2020赛季

shots_2019 = make_df(untar_data(URLs.SHOTS_2019))

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

此处通过查看源代码(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]

# 新建一个空的dataframe

shots_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()

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

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

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

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

python画球员传球图_Python实现NBA投篮数据可视化!看看球星们的投篮热点相关推荐

  1. python画k线图_python自动获取行情数据,并画k线图

    1.概述 本例子为画k线图,同时画出5日,10日,30日均线,且鼠标移动到上面会显示当前交易日,开盘价,收盘价,最高价,最低价. 移动平均线:Moving Average,简称MA,MA是用统计分析的 ...

  2. python 可视化 画直线_用Python画江苏省地图,实现各地级市数据可视化

    前言 万万没想到我昨天发布的用Python画中国地图,实现各省份数据可视化这篇文章获得了很多朋友的喜欢,目前已获得了66次转发,314次收藏,也让我涨了60个左右粉丝. 小嘚瑟 虽然这点成绩跟很多大V ...

  3. python画k线图_python画k线图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import datetime import pandas_datareader ...

  4. 怎么用python画饼状图_Python入门进阶:Python绘制饼图到Microsoft Excel

    原标题:Python入门进阶:Python绘制饼图到Microsoft Excel 来自:Linux迷https://www.linuxmi.com/python-pie-chart-microsof ...

  5. python画k线图_Python绘制K线图

    不管是对量化分析师还是普通的投资者来说,K线图(蜡烛图)都是一种很经典.很重要的工具.在K线图中,它会绘制每天的最高价.最低价.开盘价和收盘价,这对于我们理解股票的趋势以及每天的多空对比很有帮助. 一 ...

  6. python画3d圆形图_Python之Numpy:二元函数绘制/三维数据可视化/3D

    意义 在机器学习任务中选择计算模型或者学习数学时,可视化有助于研究函数值的变化趋势(观察收敛.分布.几何形状等),带来直观的感受. 源码 # 绘制二元函数 # 参考文献 # + python画二元函数 ...

  7. 不能bostype没有元数据异常_手把手教你用Python画个箱形图,找出“脏数据”

    导读:数据质量分析是数据挖掘中数据准备过程的重要一环,是数据预处理的前提,也是数据挖掘分析结论有效性和准确性的基础.没有可信的数据,数据挖掘构建的模型将是空中楼阁. 数据质量分析的主要任务是检查原始数 ...

  8. python 画系统关联图_Python基于pyecharts实现关联图绘制

    我是在使用Word2Vec计算关联词的余弦距离之后,想要更好的展示出来的时候,遇到的这种情况,就做了下拓展. 画图的步骤主要分为: 1. 将距离数据(或者相关数据)读入: 2. 按照一定的格式和参数将 ...

  9. python画出的图_Python 画出来六维图

    来自维基百科 我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 不过,我们仍然可以绘制出多维空间,今天就来用 Python 的 p ...

  10. python画k线图_Python使用matplotlib绘制k线图(去掉空白日期)

    原标题:Python使用matplotlib绘制k线图(去掉空白日期) 之前研究过使用 matplotlib.finance 中的 candlestick_ohlc() 方法绘制k线图,但是有个很无语 ...

最新文章

  1. redux中reducer使用require.context使用技巧
  2. Java代码的基本格式及注释
  3. 【数据结构-图】4.拓扑排序和关键路径(注解+原理)
  4. spring 配置jdbc/hibernate/jpa
  5. 那些你不知道的 getClientRects()
  6. MultiMedia eXtensions - MMX:第一套应用于英特尔 80x86 指令集的 SIMD 扩展
  7. Python菜鸟入门:day02知识分类
  8. Windows 11 增长停滞,或与过高的硬件需求有关
  9. 刷机精灵Android版V3.0,刷机精灵V3.0版发布,开启全新刷机时代
  10. ami编码设计流程图_基于FPGA器件实现AMI编码器和译码器的设计
  11. citp协议服务器,Picturall Octo 媒体服务器
  12. 嵩天《Python数据分析与展示》实例1:图像的手绘效果
  13. 重磅!超详细的 JS 数组方法整理出来了
  14. 图书馆图书管理系统python_使用python的简易图书馆管理系统
  15. JS将sql的dateTime格式数据例如:Wed Sep 30 00:00:00 CST 2020 字符串转换成2020-09-30 00:00:00时间格式
  16. php中logic(),thinkphp中的logic和service层是干什么用的?
  17. Linux-启动和服务(service)
  18. 平均数编码:针对高基数定性特征(类别特征)的数据预处理/特征工程
  19. DYA9面向对象中--方法的重写
  20. js判断一个数字是否是整数

热门文章

  1. Songtaste,酷到不行的音乐网站
  2. CF18B/01背包
  3. JAva继承编写自行车例子,java – Freemarker中的继承/实例检查
  4. Dracena:实时数字孪生平台
  5. java项目 无法重命名_重命名项不起作用
  6. SLAM--LSD_SLAM在高版本系统中运行(ubuntu20.04 ROS-noetic)
  7. 偶数提取(不用二次倒位,直接一步到位)
  8. idea中的常用快捷键(新手必看)
  9. 数字电子技术-数字逻辑概论
  10. spark学习系列——6 Historyserver配置