无数据的分析不过一场嘴炮。本篇内容为科赛网用户AK_47基于科赛网明星数据集《NBA数据集》,进行的全面理性分析。30年最强夺冠阵容谁说了算,数据里见分晓。

1.数据集概览

NBA数据集:NBA历史各赛季常规及季后赛球员、球队及教练综合数据,另附各球员的赛季薪金数据(NBA历史统计原因,仅存1985-86赛季之后的单场比赛球员数据。

先来看看科赛提供了哪些数据集:

ls ../input/NBAdata/
复制代码
advanced_basic.csv     coach_playoff.csv   player_salary.csv  team_playoff.csv
advanced_shooting.csv  coach_season.csv    player_season.csv  team_season.csv
avg.csv                player_playoff.csv  single.csv         tot.csv复制代码

既然是找寻史上最XX总冠军,那么 team_season.csv 和 team_playoff.csv这两个数据集便是我们关注的重点。

# 导入常用的库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# R语言中的ggplot画图很漂亮,我们同样可以调用参数,在Python实现类似风格的可视化
from matplotlib import style
style.use('ggplot')
# 设置warnings
import warnings
warnings.filterwarnings('ignore')
复制代码
# 导入数据
T_season = pd.read_csv('../input/NBAdata/team_season.csv')
T_playoff = pd.read_csv('../input/NBAdata/team_playoff.csv')复制代码

看一眼球队季后赛表现T_playoff.csv这个数据集长什么样

T_playoff.head()复制代码

5 rows × 23 columns

里面有哪些columns?

T_playoff.columns复制代码
Index(['球队', '时间', '结果', '主/客场', '比分', '投篮', '命中', '出手', '三分', '三分命中', '三分出手','罚球', '罚球命中', '罚球出手', '篮板', '前场', '后场', '助攻', '抢断', '盖帽', '失误', '犯规','得分'],dtype='object')复制代码

对于球队常规赛数据集T_season.csv也是同样的处理方法:

T_season.head()复制代码

5 rows × 23 columns

T_season.columns复制代码
Index(['球队', '时间', '结果', '主/客场', '比分', '投篮', '命中', '出手', '三分', '三分命中', '三分出手','罚球', '罚球命中', '罚球出手', '篮板', '前场', '后场', '助攻', '抢断', '盖帽', '失误', '犯规','得分'],dtype='object')复制代码

以上我们大致了解了数据集涵盖的字段和内容,下面开始找寻史上最XX总冠军的征程。

2. 历年总冠军回顾

既然目标是找寻史上最XX总冠军,那么我们先要找到历年的夺冠球队,再进行分析。

2.1 1986-2016 NBA总冠军在哪里?

 # 添加对手字段
T_playoff['对手'] = T_playoff['比分'].apply(lambda x: x[0:3])
T_season['对手'] = T_season['比分'].apply(lambda x: x[0:3])
#增加赛季字段,整理年份
T_playoff['赛季'] = T_playoff['时间'].str.extract('([0-9]{4})').astype('int')
#搬来代码,整理冠军及年份
win_dic={}
for i in T_playoff['球队'].unique():win_dic[i]={}for i in range(1986,2017):for j in T_playoff['球队'].unique():win_dic[j][i]=len(T_playoff[T_playoff.球队==j][T_playoff.赛季==i][T_playoff.结果=='W'].index)
win_count=pd.DataFrame(win_dic)
winner={}
for i in win_count.index:winner[i]=win_count.loc[i].sort_values(ascending=False).keys()[0]
winner=pd.Series(winner)
T_playoff['时间'] = pd.to_datetime(T_playoff['时间'])
复制代码

总冠军归属整理如下表:

原来近三十年夺冠也就是这几支球队轮流坐庄,那么这些球队瓜分总冠军的次数如何,请看下图分解:

plt.figure(figsize=(12,7))
plt.axes(axisbg='#F5F5F5') #设置一个好看的背景色
winner.value_counts().plot(kind='bar',color='blue')
plt.xlabel('球队')
plt.ylabel('总冠军个数')
plt.title('图1 NBA总冠军如何被瓜分')
plt.show()复制代码

不看不知道,一看吓一跳:

  • 洛杉矶湖人(LAL)一马当先抢下7枚总冠军截止
  • 乔帮主带领芝加哥公牛(CHI)完成两次3连冠伟业,从此封神
  • 圣安东尼奥马刺(SAS)也斩落5个总冠军头衔,闷声发大财
  • 以上这三支球队拿到了1986-2016这31年里面的16个总冠军,竟然过半!

好戏就此开始,我们先从各年总冠军的常规赛讲起。

# 找到总冠军在夺冠赛季的常规赛和季后赛数据 以及对手的数据
start_time = [str(i)+'-10-01' for i in range(1985,2016)]
end_time = [str(i)+'-07-01' for i in range(1986,2017)]
Name = [winner[i] for i in range(1986,2017)]
Champ_season = [[] for i in range(0,31)]
Champ_playoff = [[] for i in range(0,31)]
Champ_opp_season =[[] for i in range(0,31)]
Champ_opp_playoff = [[] for i in range(0,31)]for i in range(0,31):Champ_playoff[i] = T_playoff[(T_playoff['球队']==Name[i])&(T_playoff['时间']>start_time[i])&(T_playoff['时间']<end_time[i])]Champ_opp_playoff[i] = T_playoff[(T_playoff['对手']==Name[i])&(T_playoff['时间']>start_time[i])&(T_playoff['时间']<end_time[i])] Champ_season[i] = T_season[(T_season['球队']==Name[i])&(T_season['时间']>start_time[i])&(T_season['时间']<end_time[i])]Champ_opp_season[i] = T_season[(T_season['对手']==Name[i])&(T_season['时间']>start_time[i])&(T_season['时间']<end_time[i])]
复制代码
def get_wininfo(data):Wscore = []Wrate = []for i in range(0,31):temp = data[i]Wrate.append(round(len(temp[temp['结果']=='W'])/len(temp),2))Wscore.append(temp['得分'].mean())return Wscore, Wrate
复制代码
def get_Rtg(Champ,Opp):DRtg = []ORtg = []for i in range(0,31):temp1 = Champ[i]temp2 = Opp[i]DRtg.append((temp1['得分'].mean()*100)/(temp1['出手'].mean()-temp1['前场'].mean()+temp1['失误'].mean()+temp1['罚球出手'].mean()*0.44))ORtg.append((temp2['得分'].mean()*100)/(temp2['出手'].mean()-temp2['前场'].mean()+temp2['失误'].mean()+temp2['罚球出手'].mean()*0.44))        return DRtg,ORtg
复制代码

2.2 复盘总冠军们的常规赛表现

这一部分我们考察的点主要有:

  • 常规赛胜率 v.s 场均得分:原本想用赢球场次这个指标进行度量,但是考虑到NBA在这30年的记录中有过赛季缩水(1998年和2011年),所以常规赛的胜率更具有代表性。
  • 三分球:三分球是现如今联盟的潮流,我们想看看从古到今,NBA冠军们是如何在三分球上面搞事情的
  • 篮板:
  • 助攻:单打独斗 v.s 团队篮球,总冠军们如何选择
  • 高阶指标:进攻效率值和防守效率值

进攻效率值: 得分 X 100/(出手次数-前场篮板+自己失误+罚球出手 X 0.44)

防守效率值: 对手得分 X 100/(对手的出手次数-对手的前场篮板+对手的失误+对手的罚球出手 X 0.44)

常规赛胜率 v.s 场均得分

在下图中我们统计了历年总冠军的常规赛场均得分与胜率,其中胜率乘了系数100,这样放在了一个坐标系中,用蓝色表示。

w_score = get_wininfo(Champ_season)[0]
w_rate = get_wininfo(Champ_season)[1]
size = [i*100 for i in w_rate]idx = range(0,31)
tick = [str(winner.index[i]) + '-' + str(winner[i+1986]) for i in range(0,31)]plt.figure(1,figsize=(12,6))
plt.axes(axisbg='#F5F5F5')
plt.scatter(idx,w_score,label='场均得分')
plt.plot(idx,w_score,linestyle='--',linewidth=1,color='blue')
plt.scatter(idx,size,label='胜率')
plt.plot(idx,size,linestyle='--',linewidth=1,color='black')
plt.setp(plt.xticks(idx,tick)[1],rotation=90)
plt.title('图2 常规赛 - 场均得分 vs 胜率')
plt.xlabel('年份-冠军')
plt.legend(bbox_to_anchor=(1.13,1))
plt.show()
复制代码

不看不知道,一看吓一跳:

  • 1987年的洛杉矶湖人(LAL)火力全开,常规赛场均轰下近120分,如入无人之境!
  • 1995年的休斯顿火箭(HOU)告诉你永远不要低估一颗总冠军的心,哪怕常规赛胜率惨不忍睹!
  • 1996年的芝加哥公牛(CHI)乔帮主王者归来,创下了72胜10负的惊天记录(胜率近9成),直到2017年才被金州勇士打破。

三分球统计

我们统计了各个总冠军的三分出手次数、命中次数以及命中率(命中率乘了系数100,便于展示)

T_season_3pt = [Champ_season[i].三分出手.mean() for i in range(0,31)]
T_season_3p = [Champ_season[i].三分命中.mean() for i in range(0,31)]rate = [100 * T_season_3p[i]/T_season_3pt[i] for i in range(0,31)]
# Twenty = [20 for i in range(0,31)]plt.figure(1,figsize=(12,6))
plt.axes(axisbg='#F5F5F5')plt.bar(idx,T_season_3pt,label='场均出手')
plt.bar(idx,T_season_3p,label='场均命中数')
plt.scatter(idx,rate,label='命中率')
plt.plot(idx,rate,linewidth=0.5,color='black',linestyle='--')
plt.legend(bbox_to_anchor=(1,1))
plt.setp(plt.xticks(idx,tick)[1],rotation=90)
plt.title('图3 常规赛 - 三分统计')
plt.xlabel('年份-冠军')
plt.show()
复制代码

篮板统计

总冠军们在常规赛的场均进攻篮板,防守篮板,总篮板分别进行了归类

T_season_dreb = [Champ_season[i].后场.mean() for i in range(0,31)]
T_season_oreb = [Champ_season[i].前场.mean() for i in range(0,31)]
T_season_reb = [Champ_season[i].篮板.mean() for i in range(0,31)]dreb_mean = [np.array(T_season_dreb).mean() for i in range(0,31)]
oreb_mean = [np.array(T_season_oreb).mean() for i in range(0,31)]
reb_mean = [np.array(T_season_reb).mean() for i in range(0,31)]plt.figure(1,figsize=(12,6))
plt.axes(axisbg='#F5F5F5')plt.scatter(idx,T_season_oreb,label='进攻篮板')
plt.scatter(idx,T_season_dreb,label='防守篮板')
plt.scatter(idx,T_season_reb,label='总篮板')plt.plot(idx,T_season_oreb, color='green', linestyle='-', linewidth=0.5)
plt.plot(idx,T_season_dreb, color='green', linestyle='-', linewidth=0.5)
plt.plot(idx,T_season_reb, color='green', linestyle='-', linewidth=0.5)plt.plot(idx,dreb_mean, color='black', linestyle='--', linewidth=1,label='平均值')
plt.plot(idx,oreb_mean, color='black', linestyle='--', linewidth=1)
plt.plot(idx,reb_mean, color='black', linestyle='--', linewidth=1)plt.setp(plt.xticks(idx,tick)[1],rotation=90)
plt.title('图4 常规赛 - 篮板表现')
plt.ylabel('场均篮板数')
plt.xlabel('年份-冠军')
plt.legend(bbox_to_anchor=(1,1))
plt.show()复制代码

助攻统计

总冠军们在常规赛的场均助攻表现如下:

T_season_assist = [Champ_season[i].助攻.mean() for i in range(0,31)]ast_mean = [np.array(T_season_assist).mean() for i in range(0,31)]plt.figure(1,figsize=(12,6))
plt.axes(axisbg='#F5F5F5')
plt.scatter(idx,T_season_assist,label='场均助攻数')
plt.plot(idx,T_season_assist,linestyle='-',linewidth=0.5,color='black')
plt.plot(idx,ast_mean,color='blue', linestyle='--', linewidth=1,label='平均值')plt.title('图5 常规赛 - 助攻表现')
plt.ylabel('场均助攻数')
plt.xlabel(å'年份-冠军')
plt.ylim(17)
plt.setp(plt.xticks(idx,tick)[1],rotation=90)
plt.legend(bbox_to_anchor=(1.15,1))
plt.show()复制代码

常规赛进攻与防守效率值

Dseason = get_Rtg(Champ_season,Champ_opp_season)[0]
Oseason = get_Rtg(Champ_season,Champ_opp_season)[1]plt.figure(1,figsize=(12,6))
plt.axes(axisbg='#F5F5F5')plt.scatter(idx,Dseason,label='进攻效率值')
plt.scatter(idx,Oseason,label='防守效率值')Dseason_mean = [np.array(Dseason).mean() for i in range(0,31)]
Oseason_mean = [np.array(Oseason).mean() for i in range(0,31)]plt.plot(idx,Dseason,linestyle='-',linewidth=0.5)
plt.plot(idx,Oseason,linestyle='-',linewidth=0.5)plt.plot(idx,Dseason_mean, color='black', linestyle='--', linewidth=1,label='平均值')
plt.plot(idx,Oseason_mean, color='black', linestyle='--', linewidth=1)plt.setp(plt.xticks(idx,tick)[1],rotation=90)
plt.legend(bbox_to_anchor=(1.14,1))
plt.title('图6 常规赛 - 进攻/防守效率值')
plt.xlabel('年份-冠军')
plt.ylabel('效率值')
plt.show()复制代码

2.3 回顾总冠军们的季后赛show time

同常规赛部分,我们考察的点依旧集中在常规赛胜率 v.s 场均得分,三分球,篮板,助攻,进攻效率值和防守效率值这几个指标上面。

得分高于对手,才能赢得比赛。

T_playoff_mean = [Champ_playoff[i].得分.mean() for i in range(0,31)]mean = [np.array(T_playoff_mean).mean() for i in range(0,31)]plt.figure(figsize=(12,6))
plt.axes(axisbg='#F5F5F5')plt.scatter(idx,T_playoff_mean)
plt.plot(idx,T_playoff_mean,linestyle='--', linewidth=0.5,label='场均得分')
plt.plot(idx,mean, color='blue', linestyle='--', linewidth=1,label='平均值')plt.setp(plt.xticks(idx,tick)[1],rotation=90)plt.title('图7 季后赛 - 场均得分')
plt.xlabel('年份-冠军')
plt.legend(bbox_to_anchor=(1,1))
plt.ylim(85)
plt.show()
复制代码

论得分表现:

  • 勇士近年来表现火爆,可是得分能力比起1987年的洛杉矶湖人(LAL),差了可不止一点,当年的湖人季后赛场均120.6分傲视群雄。
  • 在这31次冠军归属中,季后赛场均得分100以上和100以下的冠军比例接近1:1(实际为16:15)
  • 只有两只球队在场均得90分以下的情况获得了总冠军,它们分别是1999年的圣安东尼奥马刺(SAS)和2004年的底特律活塞(DET)
  • 在洛杉矶湖人7次夺冠历史中,2002年的总冠军是它们唯一一次在季后赛场均100分以下得到的

无兄弟,不篮球;无助攻,难得分。

T_playoff_assist = [Champ_playoff[i].助攻.mean() for i in range(0,31)]ast_mean = [np.array(T_playoff_assist).mean() for i in range(0,31)]plt.figure(1,figsize=(12,6))
plt.axes(axisbg='#F5F5F5')
plt.scatter(idx,T_playoff_assist)
plt.plot(idx,T_playoff_assist,linestyle='-',linewidth=0.5,color='black')
plt.plot(idx,ast_mean,color='blue', linestyle='--', linewidth=1,label='平均值')plt.title('图8 季后赛 - 助攻表现')
plt.ylabel('场均助攻数')
plt.xlabel('年份-冠军')
plt.ylim(17)
plt.setp(plt.xticks(idx,tick)[1],rotation=90)
plt.legend(bbox_to_anchor=(1,1))
plt.show()复制代码

论助攻表现:

  • 迈阿密热火(MIA)的前两个冠军(2006和2012)更像是个人表演而非团队合作的结果
  • 在记录的31个总冠军中,有八次夺冠过程场均助攻低于20次,都发生在2000年以后,分别是2002年的洛杉矶湖人,2004年的底特律活塞,2005年的圣安东尼奥马刺,2006年的迈阿密热火,以及2012年的迈阿密热火。

篮板篮板篮板,重要的事说三遍。

T_playoff_dreb = [Champ_playoff[i].后场.mean() for i in range(0,31)]
T_playoff_oreb = [Champ_playoff[i].前场.mean() for i in range(0,31)]
T_reb = [Champ_playoff[i].篮板.mean() for i in range(0,31)]dreb_mean = [np.array(T_playoff_dreb).mean() for i in range(0,31)]
oreb_mean = [np.array(T_playoff_oreb).mean() for i in range(0,31)]
reb_mean = [np.array(T_reb).mean() for i in range(0,31)]plt.figure(1,figsize=(12,6))
plt.axes(axisbg='#F5F5F5')plt.scatter(idx,T_playoff_oreb,label='进攻篮板')
plt.scatter(idx,T_playoff_dreb,label='防守篮板')
plt.scatter(idx,T_reb,label='总篮板')plt.plot(idx,T_playoff_oreb, color='green', linestyle='-', linewidth=0.5)
plt.plot(idx,T_playoff_dreb, color='green', linestyle='-', linewidth=0.5)
plt.plot(idx,T_reb, color='green', linestyle='-', linewidth=0.5)plt.plot(idx,dreb_mean, color='black', linestyle='--', linewidth=1,label='平均值')
plt.plot(idx,oreb_mean, color='black', linestyle='--', linewidth=1)
plt.plot(idx,reb_mean, color='black', linestyle='--', linewidth=1)plt.setp(plt.xticks(idx,tick)[1],rotation=90)
plt.title('图9 季后赛 - 篮板表现')
plt.ylabel('场均篮板数')
plt.xlabel('年份-冠军')
plt.legend(bbox_to_anchor=(1,1))
plt.show()复制代码

论篮板能力:

  • 30枚防守篮板+10枚进攻篮板 成为了总冠军的标配
  • 2015年的金州勇士(GSW)在进攻篮板和防守篮板上的表现是近五年总冠军们的最佳

他强任他强,三分我最狂。

T_playoff_3pt = [Champ_playoff[i].三分出手.mean() for i in range(0,31)]
T_playoff_3p = [Champ_playoff[i].三分命中.mean() for i in range(0,31)]rate = [100 * T_playoff_3p[i]/T_playoff_3pt[i] for i in range(0,31)]
rate_mean = [np.array(rate).mean() for i in range(0,31)]plt.figure(1,figsize=(12,6))
plt.axes(axisbg='#F5F5F5')plt.bar(idx,T_playoff_3pt,label='场均出手')
plt.bar(idx,T_playoff_3p,label='场均命中数')plt.scatter(idx,rate,label='命中率')
plt.plot(idx,rate,linewidth=0.5,color='black',linestyle='--',label='平均值')
plt.plot(idx,rate_mean,linewidth=1,color='black',linestyle='--')plt.setp(plt.xticks(idx,tick)[1],rotation=90)
plt.legend(bbox_to_anchor=(1,1))plt.title('图10 季后赛 - 三分表现')
plt.show()
复制代码

论三分球表现

  • 近些年来,三分球进攻的数量的确增加了很多,但是,早在20多年前,联盟曾经有过这样一个三分出手增加的阶段,参考1994和1995年的冠军休斯顿火箭(HOU),以及1996和1997年的芝加哥公牛(CHI),只是当时效果不佳,可以看到后来两年总冠军的三分出手次数有所下降。
  • 芝加哥公牛(CHI)在第一个三连冠时期(1991-1993)的三分球出手和命中数都不是很高,相比于第二个三连冠时期(1996-1998),球队在三分球的处理上发生了重大改变。
  • 2015年的金州勇士(GSW)和2016年的克利夫兰骑士(CLE)将三分球发挥到了前无古人般的极致,唯二两只实现场均命中10记三分的球队
  • 只有屈指可数的几支球队达到了场均20+的三分球出手

高阶数据才是实力的体现:季后赛进攻&防守效率值

Dseason = get_Rtg(Champ_playoff,Champ_opp_playoff)[0]
Oseason = get_Rtg(Champ_playoff,Champ_opp_playoff)[1]plt.figure(1,figsize=(12,6))
plt.axes(axisbg='#F5F5F5')
plt.scatter(idx,Dseason,label='进攻效率值')
plt.scatter(idx,Oseason,label='防守效率值')plt.plot(idx,Dseason,linestyle='-',linewidth=0.5)
plt.plot(idx,Oseason,linestyle='-',linewidth=0.5)Dseason_mean = [np.array(Dseason).mean() for i in range(0,31)]
Oseason_mean = [np.array(Oseason).mean() for i in range(0,31)]plt.plot(idx,Dseason_mean, color='black', linestyle='--', linewidth=1,label='平均值')
plt.plot(idx,Oseason_mean, color='black', linestyle='--', linewidth=1)plt.setp(plt.xticks(idx,tick)[1],rotation=90)
plt.title('图11 季后赛 - 进攻/防守效率值')
plt.ylabel('效率值')
plt.xlabel('年份-冠军')
plt.legend(bbox_to_anchor=(1,1))
plt.show()
复制代码

3. 找寻史上最XX总冠军

3.1 史上最屌丝总冠军 --- 1995年的休斯顿火箭(HOU)

关键词:团队篮球 & 三分球

如果你是一名NBA老球迷,你一定听过“永远不要低估了一颗总冠军的心”这句话。屌丝逆袭的故事也在NBA中发生着,because it is where amazing happens. 从未有哪只球队像1995年的休斯顿火箭队一样,在自己的卫冕道路上走得如此艰难。常规赛阶段,胜率不足六成,进攻端低迷,防守端被爆,一路跌跌撞撞,以西部第六的身份进入季后赛。最终依靠团队篮球三分球赢下德州小强的名号,带走了总冠军。

团队篮球:1995年的火箭在当年季后赛场均送出25次以上助攻,后来从未有球队在季后赛中做到过这一点

三分球: 对!你没看错,火箭在那个年代就在投三分球!1995年的火箭在季候赛有着媲美现在勇士和骑士的三分球命中率,并且三分出手次数在那个年代也是前无古人

3.2 史上最团队篮球总冠军 --- 1985年的波士顿凯尔特人(BOS)

关键词:助攻 + 篮板 + 得分 并驾齐驱

这是一个大鸟博德(Larry Bird)与魔术师相互争霸的年代,向伟大致敬!

  • 常规赛:历史第二场均助攻 + 历史第一场均篮板 + 历史第二场均得分
  • 季后赛:历史第一场均助攻

3.3 史上最佳三分总冠军 --- 2015年的金州勇士(GSW)

关键词:三分如雨下

2015年的金州勇士可谓是一只现象级的球队,在常规赛阶段就展现了震古烁今的三分球功力,场均至少10记三分+40%命中率的稳定输出为他们早早锁定了季后赛席位。在季后赛中,勇士也可谓用三分球技能大杀四方,将场均三分出手次数提升到了30+而命中率微弱降低。史上最佳三分总冠军的称号,实至名归。

3.4 史上最佳进攻总冠军 --- 1987年的洛杉矶湖人(LAL)

关键词:进攻是最好的防守

这是进攻篮球最好的时代,这是魔术师的show time。这一年的洛杉矶湖人(LAL)常规赛阶段便在进攻端展示出极强的破坏力,八成胜率进入季后赛,之后更是以场均120+的历史第一高分夺得总冠军,开启了湖人在那个时代的两连冠。

3.5 史上最佳防守总冠军 --- 2004年的底特律活塞(DET)

关键词:防守是最好的进攻

论最佳防守总冠军,如果活塞说自己是第二,马刺绝对不敢说自己是第一。2004年的底特律活塞被称为“坏孩子”。这群“坏孩子”们在常规赛阶段就展现了自己对进攻的“厌恶”:场均不到90分也是没谁了。到了季后赛,这群“坏孩子”们更是将防守和进攻演绎到了极致:进攻效率值史上最低,而防守效率却是史上最佳。原来他们把进攻的功夫全部拿去防守了。This is where amazing happens,向这群“坏孩子”们致敬!

3.6 史上最强总冠军

关键词:完美

如果非要找出史上最强总冠军的话,1996年的芝加哥公牛(CHI)当之无愧。来,数据说话:

  • 常规赛胜率 历史现象级:72胜10负的神话直到2016-17赛季才被打破
  • 常规赛三分命中率媲美当今勇士:40%+的三分命中率在那个时代实属罕见
  • 常规赛进攻效率历史Top3:遍历1985-2016年的总冠军,历史前三的常规赛进攻效率
  • 季后赛场均进攻篮板历史第一:虽然季后赛总篮板与防守篮板表现一般,但是进攻篮板值异常炸裂!
  • 季后赛进攻与防守效率差值历史第一:进攻效率刚过平均线,但是防守效率历史前三。进攻的不足用顽强的防守去弥补!

4. 写在最后的话

from IPython.display import HTML
HTML('''<script>
code_show=true;
function code_toggle() {if (code_show){$('div.input').hide();} else {$('div.input').show();}code_show = !code_show
}
$( document ).ready(code_toggle);
</script>
有球迷的地方就有江湖,有江湖的地方就会有懂球帝和数据分析老司机。为了更好的阅读体验,源代码已经设置隐藏。如有需要,请看这里<a href="javascript:code_toggle()">这里</a>.''')复制代码

有球迷的地方就有江湖,有江湖的地方就会有懂球帝和数据分析老司机。

本作品完整源代码可直接登录科赛,在「项目」栏目查看,并能使用K-Lab的「Fork」键功能在源代码基础上再优化,生成自己的分析作品。


NBA理性分析:30年最强夺冠阵容相关推荐

  1. 可视化实战!Python+BI,手把手教你做炫酷的NBA可视化分析

    之前手痒做了一次NBA可视化分析,好多人追着我问教程,这两天终于闲下来了,花时间整理这篇NBA可视化分析教程,手把手教大家做一次炫酷的数据可视化分析! 先部分展示本次教程的作品: 数据获取 本次可视化 ...

  2. python做bi系统_可视化实战!Python+BI,手把手教你做炫酷的NBA可视化分析

    之前手痒做了一次NBA可视化分析,好多人追着我问教程,这两天终于闲下来了,花时间整理这篇NBA可视化分析教程,手把手教大家做一次炫酷的数据可视化分析! 先部分展示本次教程的作品: 数据获取 本次可视化 ...

  3. aspnet还有人用吗_别盲目跟风!理性分析:超火的小香风外套真的适合你吗?

    别盲目跟风!理性分析:超火的小香风外套真的适合你吗? 要说到小香风的话,其实就是啊老生常谈了.小香风作为香奶奶家最为经典的款式无疑代表着品牌文化魅力特有的优雅和端庄.不管是在上世纪还是现在都是时尚界的 ...

  4. 荣耀史上最强直播阵容 荣耀9发布会直播地址出来啦

    3天之后,荣耀年度旗舰荣耀9将于上海东方体育中心正式发布.今天,荣耀手机官微正式发出了发布会直播地址海报,大家不妨来围观一下. 从官方发布的海报来看,此次荣耀9直播媒体超79家,堪称荣耀史上最强直播阵 ...

  5. 轩辕剑java完美攻略_《轩辕剑剑之源》最强人物阵容推荐 高V大佬快速养成攻略...

    轩辕剑剑之源最强人物阵容推荐.轩辕剑剑之源是一款将在3月26日开启测试的古风卡牌手游,那么在这款游戏中哪些人物比较强力呢?想要快速养成这些人物又该注意什么呢?接下来就让我们一起了解一下吧. 轩辕剑剑之 ...

  6. 微信终极秘籍:精通公众号商业运营(最强作者阵容资深大号实战揭秘营销极限智慧唯一基于5.0)...

    微信终极秘籍:精通公众号商业运营(最强作者阵容资深大号实战揭秘营销极限智慧唯一基于5.0) 青龙老贼 赵黎 方雨 刘琪 潘越飞 编 ISBN 978-7-121-22036-4 2014年1月出版 定 ...

  7. python分析比赛_最强观战指南 | Python分析热门夺冠球队(附源代码)

    2018年,火热的世界杯即将拉开序幕.在比赛开始之前,我们不妨用 Python 来对参赛队伍的实力情况进行分析,并大胆的预测下本届世界杯的夺冠热门球队. 通过数据分析,可以发现很多有趣的结果,比如: ...

  8. 今天nba预测分析_NBA情报预测分析_NBA足球俱乐部 - 全球体育网

    小前锋这个位置要求比较高,既得需要锋线的意识,还需要后卫的技术,最重要的还得攻守兼备.下面是我心目中的NBA历史前五小前锋:1.皮蓬.2.小皇帝詹姆斯.3.大鸟伯德.4.J博士欧文.5.KD杜兰特.6 ...

  9. 山东计算机专业大学排名,国内计算机专业最好的大学有哪些?从五个方面逐一分析,强者恒强...

    新高考已经在14个省市全面铺开,对考生来说,专业的选择更重于学校的选择了,能发现很多提问的家长与考生着重从专业出发,寻找学校的层次,这是一个非常好的开始,笔者为大家来简要分析一下计算机专业最好的大学有 ...

最新文章

  1. 反编译软件dnSpy中修改baml文件
  2. 最近面试了一位4年的Java,什么都不知道!还自认为很牛逼...
  3. java编程中的点_Java的21个技术点和知识点归纳(转)
  4. 任务计划cron、服务管理工具chkconfig/systemctl
  5. java环境变量含义_Java环境变量的配置及意义
  6. 如何手工删除残留的DFS NAMESPACE
  7. Pycharm下将py文件打包成exe文件
  8. C++ 右值引用 | 左值、右值、move、移动语义、引用限定符
  9. leetcode51 --- solveNQueens
  10. python创建多个文件_Python创建文件夹与文件的快捷方法
  11. 关于bottle WEB框架中签名cookie的一点理解
  12. 清除SQLServer日志
  13. CSS3新特性(阴影、动画、渐变、变形、伪元素等) CSS3与页面布局学习总结——CSS3新特性(阴影、动画、渐变、变形、伪元素等)...
  14. Java 定时任务@Scheduled使用
  15. MySQL高级篇——事务
  16. 新书《编程之道》介绍
  17. SecureCRT快捷键大全
  18. c语言圆角矩形实现,MFC怎么绘制一个圆角矩形
  19. Web前端之jQuery 一
  20. Flutter ExpansionTile 折叠组件的使用

热门文章

  1. 【java】spring-boot源码解析之应用启动
  2. JAVA面试题(2018)
  3. Python3列表、元组及之间的区别和转换
  4. SecureCRT 远程端中文乱码问题处理
  5. pytest测试框架(四)---使用pytest-html生成测试报告
  6. microsoft visual c++全家桶_橡木桶——白兰地风味的“主宰”
  7. ios开发 多人语音聊天_iOS 新手集成单聊、群聊、语音和视频通话的简述
  8. 谁说 JavaScript 简单的?
  9. PTA的非零返回原因以及解决办法
  10. python queue函数_Python模块:queue