数据下的奥运百年 | Kaggle数据研究

2023-12-18 02:50

本文主要是介绍数据下的奥运百年 | Kaggle数据研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=jpeg

编程狗在线

自由的编程学习平台

640?wx_fmt=jpeg

2018年雅加达亚运会转眼闭幕了,中国代表队以132枚金牌,289枚奖牌的绝对优势,一骑绝尘,独领风骚,毫无悬念地再次霸占了金牌榜和奖牌榜首位。既然,区区亚洲已经阻止不了中国队收割奖牌的步伐,那么我们这回放眼世界,来研究一下奥运会吧。


这次的数据来自于Kaggle,一份涵盖120年奥运会所有参赛记录和比赛结果的数据,十分完整。我想通过这份数据,发现一些有趣的东西。

640?wx_fmt=gif


1

哪些国家站在奥运之巅?


640?wx_fmt=jpeg

由于百年来历史、政治、战争等因素,数据会略有出入


上图数据统计了奥运总金牌数前十的国家。美国1035块金牌遥遥领先,而且也是目前唯一一个金牌数超过1000枚的国家;俄罗斯592枚次之,但俄罗斯的金牌数包括了当下与前苏联时期。金牌榜前五的其他国家——德国、英国、法国均在世界近现代历史上辉煌过或者仍然辉煌的国家。看来国家实力同样很大程度上影响了体育实力。


再来看看中国,以228枚金牌排名第6,但中国是从1984年才正式开始奥运征程的,所以从这点看,中国无疑是进步最快的国家。


640?wx_fmt=jpeg

奖牌榜和金牌榜的排名变化几乎不大,那些强大的一如既往的强大。中国退后了一个名次,以545枚奖牌名列第7。另外,中国、法国、英国、意大利金牌榜中差距不大,而奖牌榜中,中国与其他三国的差距被拉大了。看来,中国在综合实力方面还有待提高呀。


  • 百年奥运史 & 踊跃参赛的国家


1896年——2016年,四年一届的奥运会共应举办31届。由于战争、届间运动会等影响,到今天为止共有29届奥运会成功举办。那么哪些国家达成了全勤的成就呢?


希腊,法国,意大利,英国,瑞士——这五个国家参加了全部29届奥运会。而中国,只参加了其中的13届,最早能追溯到1932年。后来在1958到1980年间,由于某几个众所周知的原因缺席了奥运会。1984年重回奥运舞台之后,中国就一发不可收拾地开启了崛起之路。


2

哪些运动员最牛


研究完了国家,我们再来看看运动员。同样先上总金牌榜:

640?wx_fmt=jpeg

横轴起始有调整,下同


排名第一的是美国著名游泳运动员迈克尔·菲尔普斯,以23块金牌问鼎。对!就是那位游得飞快,但屡次因为酒驾,嗑药,赌博被停赛的那家伙。

640?wx_fmt=jpeg

值得一提的是排名第二位的运动员,坐拥奥运会10块金牌。名字叫雷·尤瑞。估计大家都没听过。因为年代比较久远,他参加了1900-1908年的四次奥运会,跳远选手。据说早年患上小儿麻痹症,终日需要轮椅活动,最后获得了10次奥运冠军。这真是一个励志的故事!

640?wx_fmt=jpeg


继续看奖牌榜:

640?wx_fmt=png

研究了一下,这些摘牌最多的运动员,绝大多数都是田径和游泳两大领域的。那么是不是田径和游泳是制霸奥运的关键?这个我们稍后研究。


  • 年龄最大的运动员:72岁仍参赛


Oscar Swahn:瑞典射击运动员,参加1920年比利时安特卫普奥运会,成为奥运历史上参赛年龄最大的运动员。获得过3金,1银,1铜。

Arthur von Pongracz:1936年参加柏林奥运会时,同样72岁,项目是花样骑术,啧啧~


3

得田泳者是否得奥运?


我们取近五届奥运会金牌榜霸主美、中、俄三国的数据,分析在每个国家夺得的金牌数中,田泳项目占比有多高。


640?wx_fmt=jpeg

果然,美国队田泳项目占其金牌总数的60%左右。而俄罗斯,其田泳项目对金牌数的贡献逐届增加,至于2016年的“零”!那是因为被禁赛了。至于中国,从往届来看貌似田泳向来不是强项。结果说明,田泳项目由于奖牌产量大,确实对总成绩有不小的贡献。但也并不是绝对,奥运会毕竟是一个综合性的体育比赛。


4

主场优势真的存在吗


这里取近9届奥运会主办国的表现来观察。统计其主办届及前后两届,共三次奥运会的金牌数:

640?wx_fmt=jpeg

折线图呈现中间高过两边的三角形,说明作为东道主成绩确实好过以往,甚至有的有超过50%的提升。所以,主场优势是真的存在的。


题外话:第五、第六张图,出现了两个数据为0的极端值。然后我发现主办国是美国和苏联。呵呵~我的历史老师告诉我,当初两个国家在冷战,而期间,双方又各举办了一届奥运会,对方的奥运会当然是不可能去捧场的……


5

中国的奥运会足迹


640?wx_fmt=jpeg

从1984年首次参赛以来,一直在进步。巅峰为2008年北京奥运会,坐拥主场,获得了100枚奖牌。在2016年,出现了明显的滑铁卢,主要是金牌方面。


  • 中国的“梦之队”


有些项目一直以来都是中国摘金夺银的有力保障,我们把这些强势项目的团队称之为“梦之队”。我们来看看中国有哪些“梦之队”。


下图分别统计金牌数和奖牌数:

640?wx_fmt=png

640?wx_fmt=png

最强大的无疑是中国跳水梦之队,几乎可以摘得每届奥运会所有的金银牌,而跳水运动项目又十分多。其次,乒乓球,这个项目同样天下无敌,可惜项目少了点,所以奖牌也少了点。同样还有体操,射击,举重等,中国都曾不同程度地制霸赛场。所以,相比于老牌强队专注于田泳,中国的奥运之路乃是遍地开花,而且哪怕是田径和游泳,目前也走上了崛起之路。


我们相信在不久的将来,中国终将会站上奥运之巅,睥睨天下。


点击此处进入Python编程学习


本文作者

李小文:先后从事过数据分析、数据挖掘工作,主要开发语言是Python,现任一家小型互联网公司的算法工程师。Github: https://github.com/tushushu


投稿邮箱:pythonpost@163.com

欢迎点击申请Python中文社区新专栏作者计划


640?wx_fmt=gif

Python中文社区作为一个去中心化的全球技术社区,以成为全球20万Python中文开发者的精神部落为愿景,目前覆盖各大主流媒体和协作平台,与阿里、腾讯、百度、微软、亚马逊、开源中国、CSDN等业界知名公司和技术社区建立了广泛的联系,拥有来自十多个国家和地区数万名登记会员,会员来自以公安部、工信部、清华大学、北京大学、北京邮电大学、中国人民银行、中科院、中金、华为、BAT、谷歌、微软等为代表的政府机关、科研单位、金融机构以及海内外知名公司,全平台近20万开发者关注。

640?wx_fmt=jpeg

▼ 点击下方阅读原文免费成为社区会员

这篇关于数据下的奥运百年 | Kaggle数据研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/506789

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查