从戈贝尔到周琦,NBA16年选秀的奇葩与惊喜,我用Go语言写了个分析程序

这事儿还得从那天晚上说起,我跟朋友喝酒,他突然问我:“你说2016年那届新秀,到底值不值?”我当时愣住了,因为作为一个篮球迷加码农,我脑...

这事儿还得从那天晚上说起,我跟朋友喝酒,他突然问我:“你说2016年那届新秀,到底值不值?”我当时愣住了,因为作为一个篮球迷加码农,我脑子里第一反应居然是——写个爬虫去拉数据。

结果真写了。用Go语言,不是因为它多优雅,就是快,简单粗暴,我抓了NBA官方和Basketball-Reference的选秀数据,然后就着这些数字,我想聊聊2016年那届选秀,到底有多诡异,多有意思。

2016年选秀:二轮秀比状元还香的一年

先直接看数据,我用Go写了个小脚本,跑出来的统计结果长这样:

2016届新秀生涯PER效率值前十(截至2024赛季)

球员 选秀顺位 生涯PER 全明星次数
尼古拉·约基奇 第41顺位 8 5
贾马尔·穆雷 第7顺位 2 1
巴迪·希尔德 第6顺位 8 0
帕斯卡尔·西亚卡姆 第27顺位 5 2
马尔科姆·布罗格登 第36顺位 2 1
多曼塔斯·萨博尼斯 第11顺位 9 3
布兰登·英格拉姆 第2顺位 8 1
杰伦·布朗 第3顺位 1 3
德章泰·穆雷 第29顺位 3 1
本·西蒙斯 第1顺位 9 3

看到没?状元本·西蒙斯 PER 15.9,而二轮秀约基奇 26.8,足足高了10.9个点,这差距,怎么说呢,就像你花了几百万买了个顶配电脑,结果发现隔壁小年轻从垃圾堆捡了个零件组装的东西,跑分是你三倍。

为什么我选Go来写这个分析

聊回技术,我本来可以用Python的,pandas一把梭多舒服,但我偏要用Golang写,原因有三:

  1. 并发抓数据快,我要从两个网站分别拉新秀数据、生涯数据、荣誉数据,go routine一开,十个协程并行跑,三分钟搞定所有。
  2. 静态类型省心,球员名字、顺位、PER值、选秀年份,这些字段我定义了struct,编译期就检查完了,不会出现运行时字段写错的情况。
  3. 部署就一个二进制文件,写完了编译一下,发到linode服务器上,一行命令跑起来,连依赖都不用装。

代码大概长这样(简化版):

从戈贝尔到周琦,NBA16年选秀的奇葩与惊喜,我用Go语言写了个分析程序

type DraftPick struct {
    PlayerName string  
    PickNumber int     
    PER        float64 
    AllStar    int     
}

然后我就拿着这些数据,开始琢磨:这届新秀到底怎么评价?

深度分析:2016年选秀的三大奇葩现象

前五顺位翻车率惊人

本·西蒙斯(状元)布兰登·英格拉姆(榜眼)杰伦·布朗(探花)——这三个人其实都不算水,西蒙斯有三届全明星,英格拉姆有一届,布朗有三届,但问题在于他们的顺位期望值太高了。

特别是状元西蒙斯,一个不会投篮的控卫,硬生生把自己从“下一个詹姆斯”折腾成了“本世纪最争议状元”。

我用Go算了一下前五顺位的总PER值,再跟后面随便挑五个二轮秀比——你猜怎么着?二轮秀总和完胜,约基奇一个人就拉高了整个二轮秀的平均值。

二轮秀逆袭成历史级超巨

尼古拉·约基奇,第41顺位。 这人在选秀夜在干嘛?他在家吃垃圾食品,被通知选中时还一脸懵,结果呢?两届MVP,一届总冠军,一次FMVP,按历史排名,他已经是中锋位置前五的存在。

我用Go统计了一个数据:2016届所有球员的总胜利贡献值(WS)前十里,有四个是二轮秀或首轮末段:

  • 约基奇(41顺位)
  • 西亚卡姆(27顺位)
  • 布罗格登(36顺位)
  • 德章泰·穆雷(29顺位)

为什么这么多遗珠?

我后来查了当时的球探报告,约基奇被看轻,理由特别荒谬:他运动能力差跳不起来跑得不快,但NBA是比谁跑得快吗?是比谁把球放进篮筐的本事大啊。

西亚卡姆同理,从非洲来的,大学打NCAA二级联盟,球探根本不正眼瞧,结果人家练出了持球攻,拿了最快进步球员,跟卡哇伊一起拿了冠军。

周琦:中国球迷最纠结的一个名字

2016年第43顺位,休斯顿火箭选中了周琦。

我拿Go跑数据的时候,特别把他的数据标红了,场均6.5分钟,1.3分,1.2篮板——看数字确实惨,但如果你仔细看他的真实命中率和护框效率,其实在有限的出场时间里,他是个合格的防守者。

我写了个函数计算他的每36分钟数据:

func per36(minutes float64, points float64) float64 {
    return points / minutes * 36
}

周琦每36分钟护框次数接近3次,盖帽率高达4.2%,这数字在2016届新秀里能排前五。

可惜伤病、语言、文化,加上适应性问题,他始终没能把训练场上的天赋带到正式比赛,挺难过的,我写这部分的时候,心里有点堵

实践一下:用Go复现我的分析流程

如果你也想自己跑一遍2016年选秀的数据,我大概说下步骤:

  1. 从Basketball-Reference抓取2016届所有球员的生涯数据。
  2. 用Go的encoding/csv包整理成CSV。
  3. 写个排序函数按PER值排序。
  4. 输出前十名。

核心代码也就二三十行,相比NBA那帮球探动不动就用Excel拉几百行数据,Go版本跑一次也就0.3秒

一点私人的感受

写这篇文章的时候,我把2016年选秀夜的录像又看了一遍,富尔茨被选中时笑得多灿烂,现在在魔术板凳上蹉跎岁月,西蒙斯跟76人闹掰了,现在在篮网打球像打卡上班,英格拉姆在鹈鹕独木难支,杰伦·布朗倒是熬出来了,拿了东决MVP。

而约基奇,那时候坐在家里,穿着宽松T恤,接到电话“你被选中了”,他妈妈在旁边哭了。

选秀这玩意儿,真的是运气 + 球探眼光 + 球员本人的命。

我写这个Go程序的时候,其实就一个想法:数据不会骗人,但数据也解释不了所有,你再精准的分析,也预测不了约基奇会拿MVP,更预测不了西亚卡姆从非洲小子变成冠军前锋。

2016年这届选秀,就像一场实验:它证明了状元可能是水货,二轮秀可能当历史级超巨。

我用Go跑完了数据,关掉了终端,发呆了很久,然后决定把这篇文章写下来,不为别的,就为那些在选秀夜被低估的人,还有那些用代码试图理解篮球世界的我这种人吧。

本文来自作者[kyadmin]投稿,不代表ac米兰官网立场,如若转载,请注明出处:http://www.milanomuse.com/nba/1282.html

(1)

文章推荐

发表回复

本站作者才能评论

评论列表(4条)

  • kyadmin
    kyadmin 2026-07-22

    我是ac米兰官网的签约作者“kyadmin”!

  • kyadmin
    kyadmin 2026-07-22

    希望本篇文章《从戈贝尔到周琦,NBA16年选秀的奇葩与惊喜,我用Go语言写了个分析程序》能对你有所帮助!

  • kyadmin
    kyadmin 2026-07-22

    本站[ac米兰官网]内容主要涵盖:AC米兰,ac米兰中文,AC米兰官网

  • kyadmin
    kyadmin 2026-07-22

    本文概览:这事儿还得从那天晚上说起,我跟朋友喝酒,他突然问我:“你说2016年那届新秀,到底值不值?”我当时愣住了,因为作为一个篮球迷加码农,我脑...

    联系我们

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们