file upload 攻防世界_用 Python 总结分析男篮世界杯

3035310a6a509a96d86e0809767ef753.png

男篮世界杯已经落下帷幕,相信看球的朋友们都已经过足了篮球瘾。有些许遗憾,也有世界霸主的失落,还有老兵不死的坚持,当然还有斗牛军团的登顶。

自杀式输给波兰,溃败式负于尼日利亚,从前一直代表亚洲征战奥运会的中国,可能就要缺席下一届了。当阿联老去,中国即将不再有任何一名球员具备世界篮球运动员的水平,没有一个!期待中国男篮的再次崛起吧!

星光黯淡,小将领衔,教练席上的神奇老者也没能创造神奇,历史最差战绩,我们都不知道该不该赋予这只美国男篮以“梦之队”的称号。也许在不久后的东京,他们会球星云集,卷土重来吧。

什么是老兵,是接近40岁“高龄”的斗士,是场均准两双的无解,是令人啧啧称奇的坚持。钻石的最后,虽然没能如愿,但是谁又会在乎呢,你已经征服了整个世界!潘帕斯草原上的雄鹰,终将振翅高飞。

一如足球领域一样,斗牛军团的篮球同样强大。不能不佩服和感慨,当加索尔和卢比奥内外联合,双剑合璧时,他们就是篮球界的霸主。

下面我们就一起通过真实的数据,来细数本届男篮世界杯上的各项数据吧。

dad2ab36888b05e5eedce849c8d423a8.png

数据来源

下面分析的数据,都是抓取自新浪体育

数据抓取

在新浪体育网站上,有个世界杯专栏,在数据榜这个模块里,可以找个类似下面的链接

https://events.sports.sina.com.cn/bps/peony/mersh/beitai/fiba/stats/playerdata_order?leagueid=433&ordertype=FieldGoalsAverage&order=desc&dpc=1

该链接,只要修改 ordertype 字段,就可以获取到诸如球员得分,篮板球,助攻数等一些列数据,具体的过程就不说了,就是发请求,解析 json 的简单操作

import requestsimport time​​url_list = [ 'https://events.sports.sina.com.cn/bps/peony/mersh/beitai/fiba/stats/playerdata_order?leagueid=433&ordertype=PointsAverage', 'https://events.sports.sina.com.cn/bps/peony/mersh/beitai/fiba/stats/playerdata_order?leagueid=433&ordertype=ReboundsAverage', 'https://events.sports.sina.com.cn/bps/peony/mersh/beitai/fiba/stats/playerdata_order?leagueid=433&ordertype=PlusMinusAverage', 'https://events.sports.sina.com.cn/bps/peony/mersh/beitai/fiba/stats/playerdata_order?leagueid=433&ordertype=StealsAverage', 'https://events.sports.sina.com.cn/bps/peony/mersh/beitai/fiba/stats/playerdata_order?leagueid=433&ordertype=AssistsAverage', 'https://events.sports.sina.com.cn/bps/peony/mersh/beitai/fiba/stats/playerdata_order?leagueid=433&ordertype=BlockedAverage', 'https://events.sports.sina.com.cn/bps/peony/mersh/beitai/fiba/stats/playerdata_order?leagueid=433&ordertype=TurnoversAverage', 'https://events.sports.sina.com.cn/bps/peony/mersh/beitai/fiba/stats/playerdata_order?leagueid=433&ordertype=PersonalFoulsAverage', 'https://events.sports.sina.com.cn/bps/peony/mersh/beitai/fiba/stats/playerdata_order?leagueid=433&ordertype=FieldGoalsAverage']​​def fire(url): file_name = url.split('=')[2] res = requests.get(url).json() data = res['playerdata_order'] items = map(get_data, data) print('save data') save_to_csv(items, file_name)​​def get_data(data): name = data['CNAlias'] country = data['TeamCNName'] points = data['PointsAverage'] rebounds = data['ReboundsAverage'] steals = data['StealsAverage'] assists = data['AssistsAverage'] fouls = data['PersonalFoulsAverage'] plus_minus = data['PlusMinusAverage'] blocked = data['BlockedAverage'] goals_percentage = data['FieldGoalsPercentage_m'] turnovers = data['TurnoversAverage'] result = { 'name': name, 'country': country, 'points': points, 'rebounds': rebounds, 'steals': steals, 'assists': assists, 'fouls': fouls, 'plus_minus': plus_minus, 'blocked': blocked, 'goals_percentage': goals_percentage, 'turnovers': turnovers } return result​​def save_to_csv(data, file_name): with open(file_name + '_data.csv', 'w', encoding='utf-8') as f: f.write('name,country,points,rebounds,steals,assists,fouls,plus_minus,blocked,goals_percentage,turnovers') for d in data: try: row = '{},{},{},{},{},{},{},{},{},{},{}'.format(d['name'], d['country'], d['points'], d['rebounds'], d['steals'], d['assists'], d['fouls'], d['plus_minus'], d['blocked'], d['goals_percentage'], d['turnovers']) f.write(row) f.write('') except: continue​​if __name__ == '__main__': for url in url_list: fire(url) time.sleep(2)

数据保存

我分别抓取了以得分、篮板,助攻等排名的数据,并分别保存在不同的 csv 文件当中,最后的文件内容大致如下

ad983b0d85e152cb2c9c8b6b097649ed.png

全体球员可视化

5adb44b020acf8ad7f000e8d46366595.png

几个亮点

✔ 韩国的归化球员竟然场均得分最高

✔ 阿联成功入选

✔ 没有美国人

可能是韩国队打的比赛不多,对手不是很强,这个罗建儿作为迷你型中锋,也可以在内线翻云覆雨。

阿联确实宝刀不老,还记得最后的生死战,如果没有阿联,比赛可能早花了。

再次印证本届美国男篮无大牌,没有绝对的进攻核心,可能是他们兵败中国的最大原因了。

球员篮板排名

35066c33858ac8f3f4b3b51339e129bd.png

有意思了,罗建儿竟然又是第一,要是按照国内排高校的标准,这妥妥的是双一流!

球员得分篮板排名

8979a3f53b989acbed516ebab118021d.png

罗建儿是本届世界杯唯一的一个能拿到得分篮板两双的球员,且是20+10,能力还是毋庸置疑的!

然后就要说说两位老将了,斯科拉和易建联。两位都是17+的场均得分加上7+的篮板,能够看得出,在攻防两端,两名球员都是各自球队不可或缺的一员。真的是家有一老,如有一宝啊。

不过人家阿根廷男篮已经完成了新老交替,未来依旧可期。而中国男篮呢,未来靠谁,是亚洲第一后卫-郭艾伦,还是大魔王-周琦,都还缺乏领袖气质和绝对能力啊!

最佳阵容可视化分析

最佳阵容球员

the_best_lineup = [ '博格达诺维奇', '富尼耶', '卢比奥', '斯科拉', '加索尔']

球员能力分析

接下来就来看看本届世界杯,最佳阵容成员的各自数据。能力强不强,数据不说谎。

我分别选取了得分、篮板、助攻、抢断、封盖、犯规和失误为考察点,分别画出了各自的能力雷达图

ae6b8f93af734b0e06f65d270794196b.png

三个外线,两个内线,各自都以不同的能力,影响着比赛,帮助着团队。

塞尔维亚的博格达诺维奇,得分能力比较强,场均助攻也不错,关键是助攻失误比非常低,妥妥的进攻发动机。

法国队的富尼耶,得分助攻比较平均,从数据上来看,是五个人中较弱的一位。但是其强大的冲击力,是法国队得以击败美国的关键之一。

西班牙的卢比奥,是五个人中助攻最高的一位,但是同时失误次数也最多。他在外线的威胁,是西班牙能够轻松击败阿根廷的重要因素。当年的金童已经蓄起了胡须,岁月的沧桑给了他更多的坚忍。

阿根廷的斯科拉,作为攻守两端的绝对核心,如果不是两鬓的点点白发,不会有人知道他已经39岁了。此时的数据已经不再重要,篮球才是一切!

西班牙的小加索尔,成功的从哥哥手中接过了国家队的大旗,不是十分华丽的数据的背后,是他在球场上的经验,老道和威慑力,有他在,西班牙就不会轻易被击败。

球员投篮命中率对比

ae9ab05429cdd0df6670c58cf3d0a16d.png

没想到,投篮命中率最高的竟然是一名外线球员,也许这样和当今篮球的发展相关,大个往外跑,小个向里冲!

最佳五人组,每个人的命中率都在40%以上,怎一个稳字了得。

球员正负值对比

b6486a7eb427314989583bd59cdc5127.png

富尼耶是五个人中正负值最低的,我说他在五个人里最弱,是不是也从侧面得到了印证呢。

而加索尔的正负值是最高的,他就是球队的定海神针。犹记得当阿根廷反攻凶猛时,就是加索尔临危上场,稳定军心,遏制对手的进攻,成功帮助球队拿下比赛。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值