金州勇士4年3冠的成功秘诀!Python数据可视化分析告诉你答案

前言


2015年6月,记得那时候我正在忙着研究生毕业,也是在那个时候,NBA总决赛的开始了。当时,金州勇士队作为一匹黑马收到很多人看好,果然不负所望,勇士队一路过关斩将一举拿下了总冠军。也是在那个时候,由于库里的出色表现,给大家留下了深刻的印象,成为勇士当家球员。

可以说,从那时起,勇士队开始起飞了。2016年,3比4惜败骑士,但随后2017和2018年又相继拿下了总冠军,四年拿下三个总冠军,这在NBA历史上也是很少有的成绩了。

我并不是勇士队的球迷,但我却想知道究竟是什么原因让它可以突然出现在人们眼前,并且可以不断地创造辉煌。这背后肯定是有原因的,大家各有各的说法,但我觉得数据不会说谎,我想通过数据来分析勇士队成功背后的原因。

▍数据源

对于数据源,我并没有采用爬虫去采集数据,因为我的重点是分析数据,因此选择直接使用了现有数据源。

数据源来自Kaggle,提供了2012-2018年的所有球员的个人技术统计和球队战绩,链接如下:

https://www.kaggle.com/pablote/nba-enhanced-stats

本篇采用2017-18年的统计数据对勇士队进行分析。

▍技术指标排名

对所有球队的技术指标进行场均值排名,包括均分,均助攻,均盖帽,均二分球得分率,均三分球得分率,并只针对排名前五名进行可视化对比。

1. 场均得分排名


勇士队场均得分113.46,排名第一

2. 场均排名


勇士队场均助攻29.32,排名第一

3. 场均盖帽排名


勇士队场均盖帽7.45,排名第一

4. 场均二分球得分率排名


勇士队场均二分球命中率0.56,排名第一

5. 场均三分球得分率排名


勇士队场均三分球命中率0.39,排名第一

我们查看了五个主要技术指标,勇士队均是排名第一,常规赛的数据要不要太完美,无论进攻还是防守数据都非常亮眼。

▍勇士队胜负场中两分与三分球得分情况

既然勇士队得分均排名第一,那么我们想要看一下在勇士队胜场和负场中,两分球和三分球的得分情况。下面通过可视化将胜负场和两分与三分关系图联系起来观察。


左侧图为所有比赛中两分球得分率与三分球得分率的散点关系图。右侧图为所有比赛中队伍总得分与对手总得分的关系图(红色为负场,绿色为胜场)。并且,左右这两个图的点是一一对应的。

通过左图得到一些基本观察:

从y轴三分得分率看:勇士队的三分得分率基本在30%至50%之间浮动,其中40%至50%居多。

从x轴两分得分率看:勇士队的两分得分率基本在40%至65%之间浮动,其中55%至65%居多。

二者关系:每场比赛的两分球和三分球得分率还是比较均衡和稳定的,大部分在正常浮动范围内,有极少数情况下的离散点(两分球得分率少于45%,三分球少于30%的)。

通过上面二者关系分析,我们把两分球得分率45%以上,且同时三分球得分率30%以上的比赛定义为正常发挥,而其它一个高一个低或者都低的离散点定义为失常发挥。

通过右图得到一些基本观察:

胜负场数:通过绿色和红色数量观察大约有2/3的场次都赢得了比赛,说明常规赛季勇士队战绩非常好。

队伍 vs 对手得分:单场最高超过140+,最低低于80,所有得分大概是服从正态分布的,集中在100至130之间,场均110+。特殊地,小于95分的场次都输掉了,而大于125分的场次都赢了。

下面对图形进行动态的交互式操作,将两个图联系起来进一步详细分析。

胜场得分情况


胜场中对应的两分和三分得分率还是很集中的,基本符合我们所说的正常发挥情况。

败场得分情况


败场中对应的两分和三分得分率比较离散,有些正常发挥的情况下也输了比赛,不过数量不多,应该是棋逢对手,遇到强队了。

总体来说,勇士队发挥比较稳定,且在正常发挥的情况下大多抓住了机会,拿下了比赛,获得了常规赛季58胜24负的卓越战绩,排名第一是有道理的。

交互式可视化部分代码如下:

# Bokeh库

from bokeh.plotting import figure,show

frombokeh.ioimportoutput_file

frombokeh.modelsimportColumnDataSource, CategoricalColorMapper, NumeralTickFormatter

frombokeh.layoutsimportgridplot

# 步骤一:将数据储存在ColumnDataSource中

gm_stats_cds = ColumnDataSource(phi_gm_stats_2)

# 步骤二:生成一个静态的html文件

output_file('phi-gm-linked-selections.html',

title='76ers Percentages vs. Win-Loss')

# 创建CategoricalColorMapper,对win和loss分配特定颜色

win_loss_mapper = CategoricalColorMapper(factors = ['W','L'], palette=['Green','Red'])

# 自定义工具

toolList = ['lasso_select','tap','reset', 'save']

# 步骤三:配置图形界面

pctFig = figure(title='2PT FG % vs3PT FG %,2017-18Regular Season',

                plot_height=400, plot_width=400, tools=toolList,

                x_axis_label='2PT FG%', y_axis_label='3PT FG%')

# 步骤四:采用圆点图绘制数据

pctFig.circle(x='team2P%', y='team3P%', source=gm_stats_cds, 

              size=12, color='black')

# 将y轴标记变为百分比形式

pctFig.xaxis[0].formatter = NumeralTickFormatter(format='00.0%')

pctFig.yaxis[0].formatter = NumeralTickFormatter(format='00.0%')

# 创建一个与整体相关的图形

totFig = figure(title='Team Points vs Opponent Points,2017-18Regular Season',

                plot_height=400, plot_width=400, tools=toolList,

                x_axis_label='Team Points', y_axis_label='Opponent Points')

# 绘制正方形点图

totFig.square(x='teamPTS', y='opptPTS', source=gm_stats_cds, size=10,

              color=dict(field='winLoss', transform=win_loss_mapper))

# 创建图形布局

grid = gridplot([[pctFig, totFig]])

# 可视化展示

show(grid)

▍勇士队三分球得分情况

看过NBA比赛的朋友都知道,勇士队三分球特别牛逼,动不动就来一顿三分雨真是让对手受不了。下面我们来看一下勇士队球员三分球在NBA所有队伍中是个什么水平,什么如此厉害。

由于一些位置(比如中锋)几乎没有三分,因此我过滤掉了所有投射三分球次数低于100的球员。

下面是交互式操作展示了勇士队的三分命中率情况。


图中x轴为三分总投射次数,y轴为三分球命中的次数,样本是投射三分球次数大于100的所有NBA球员。红色为勇士队队员,蓝色为其它非勇士队队员。

我们看到,在所筛选的球员中,勇士队一共有7人。其中4人命中率在40%以上,分别是斯蒂芬.库里克莱.汤普森凯文.杜兰特奎因.库克。尼克杨也是基本接近40%的。这么人的高命中率真的很吓人,虽在不同位置,却都有着惊人的三分准确率,这确实让勇士队在三分球上占据绝对的优势了。

连续比赛的技术指标追踪

下面我们继续深度追踪一下勇士队连续比赛期间随时间变化而有的一些技术影响。还是一样,对于这种复杂的观察,我们借助交互式可视化来进行分析。


图中4个图是关联的,分别记录得分,助攻,篮板,失误随比赛连续进行二出现的情况。红色为负场,绿色为胜场。

通过上面观察,我们可以看到常规赛季在前阶段很少出现失败,大部分都是一直连胜的。而到最后阶段,即66至75之间,出现了连续的失败,次数偏多。很明显地,这个时候的技术指标度不如前阶段。前面一路高歌,最后阶段输球多的原因可能是战术性的放水,或者是怕球员受伤,为最后季后赛以及总冠军养精蓄锐。

可视化分析实现部分代码如下:

# Bokeh库

from bokeh.plotting import figure, show

from bokeh.io import output_file

from bokeh.models import ColumnDataSource, CategoricalColorMapper, Div

from bokeh.layouts import gridplot, column

# 输出文件

output_file('ps-gm-linked-stats.html',

                title='Golden State Game Log')

# 将数据存入ColumnDataSource

gm_stats_cds = ColumnDataSource(gs_gm_stats)

# 调整布局

grid = gridplot([[stat_figs['Points'], stat_figs['Assists']], 

                [stat_figs['Rebounds'], stat_figs['Turnovers']]])

# 将x轴联动

stat_figs['Points'].x_range = 

    stat_figs['Assists'].x_range = 

    stat_figs['Rebounds'].x_range = 

    stat_figs['Turnovers'].x_range

# 添加整体的大标题

html = """<h3>Golden State Game Log</h3>

<b><i>2017-18 Regular Season</i>

<br>

</b><i>Wins in green, losses in red</i>

"""

sup_title = Div(text=html)

# 可视化展示

show(column(sup_title, grid))

▍勇士队球员技术对比

我们通过可视化再看一下勇士队里所有队员的平均得分,助攻,抢断,篮板对比情况。下面饼形图展示了所有球员的个人技术指标。

从上面可视化分析观察到:得分(PTS)来看,贡献最大的前两名是库里和杜兰特,场均都约26.3分,第三名汤神略逊一筹场均约20分,第四是格林11分。助攻(AST)来看,格林排第一,场均7.2个助攻,库里第二,场均6助攻,然后是杜兰特场均5.4助攻。

从上面可视化分析观察到:抢断(STL)来看,库里最多,场均1.56抢断,第二是格林,场均1.36抢断,第三是伊戈达拉。盖帽(BLK)来看,杜兰特排第一,场均1.75个封盖,格林第二,场均1.3个封盖,然后是维斯特场均1封盖。

从这4个技术指标来看,库里杜兰特无疑是球队的核心了,得分并列第一,助攻前三,其次是汤神。但同时,还有另一个非常关键的人物,格林。如果仔细观察,你会发现虽然格林除了在得分中排第四,其它每个指标中都是前三。不得不说,这位球员真的非常全面,防守助攻能力特别强,并且也有自己的得分手段。此外,伊戈达拉也同样拥有着不错的表现。基于这种实力的排位,这五位也是上赛季常规赛勇士队的首发五虎阵容。

可视化部分代码实现如下:

fig = {

"data": [

{

"values": gs_players_pts['playPTS'],

"labels": gs_players_pts.index,

"domain": {"x": [0,.48]},

"name":"PTS",

#       "hoverinfo":"label+percent+name",

      "hole": .4,

      "type": "pie"

    },

    {

      "values": gs_players_pts['playAST'],

      "labels": gs_players_pts.index,

      "text":["AST"],

      "textposition":"inside",

      "domain": {"x": [.52, 1]},

      "name": "AST",

#       "hoverinfo":"label+percent+name",

      "hole": .4,

      "type": "pie"

    }],

  "layout": {

        "title":"Golden State Players PTS vs AST",

        "annotations": [

            {

                "font": {

                    "size": 20

                },

                "showarrow": False,

                "text": "PTS",

                "x": 0.20,

                "y": 0.5

            },

            {

                "font": {

                    "size": 20

                },

                "showarrow": False,

                "text": "AST",

                "x": 0.8,

                "y": 0.5

            }

        ]

    }

}

py.iplot(fig)

▍勇士队核心球员技能指标

核心球员是整个球队的关键,因此下面对勇士核心球员库里与詹姆斯进行一下简单的对比,分别从总投篮命中率,两分命中率,三分命中率,罚球命中率来对比一下。

库里 vs 詹姆斯

上面左右两图的比例不同,因此大小面积不能代表能力强。

二分球命中率:詹皇极高72%,高过库里的57.8%,但这里也包括有突破,快攻等得分,不得不说詹皇发飙的时候谁都挡不住啊。

三分球命中率:库里三分命中率41%,而詹皇只是32%,略占下风。

罚球命中率:库里有87%,而詹皇60%。

总命中率:库里52,%,詹皇54%。

可以发现詹皇在个人突破强吃得分上很占优势,两分球命中率极高,而库里更擅长投篮的三分球得分。二人风格不同,但都具有超强的个人能力和领袖气质,实力上是旗鼓相当的。

下面是杜兰特与詹姆斯的篮板和得分情况对比。

参考:https://realpython.com/python-data-visualization-bokeh/

▍总结

本篇通过数据可视化分析了金州勇士队的战绩和个人技术指标,以及在整个联盟中的位置,并通过交互式可视化深度研究了勇士队的分数,进球率对胜负的影响。数据告诉我们,勇士队的实力目前在整个联盟确实是数一数二的,并且拥有几个超强的核心坐镇,4年3夺冠也是实至名归。

本文转载自:https://blog.csdn.net/bf02jgtrs00xktcx/article/details/84850349

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容