【导读】
今天带各人用数据可视化解读120 年奥运变迁史。几经曲折,东京奥运会末于即将迎来开幕的时刻,间隔7月23日东京奥运会开幕只要不到一周的时间了。
此次东京奥运会实可谓是命运多舛,在2020年3月24日,东京奥组委宣告,2020东京夏日奥运会延期至2021年夏日举行。
很快一年过去了,原认为疫情会过去,奥运会能够如常展开。不想除了中国,全世界的疫情反频频复,Delta毒株的残虐使得疫情更严峻。
在那种形势下的东京奥运会也出台各类防疫新规:
东京奥运会开幕式有可能将入场不雅世人数压缩至1000人以下;
运发动间需要连结社交间隔,除了吃饭、睡觉、训练和角逐时间外,确保始末戴着口罩;
乒乓球赛造方面,角逐时运发动不准手触球台和吹球;
…...
那必定让此次奥运会成为最不服凡的一届,而各类因素也招致本届奥运会的列国奖牌榜愈加难以预测,出名体育数据公司Gracenote就在预测陈述中说:“因为新冠肺炎疫情的影响,东京奥运会或许成为最不成预测一届奥运会。”
那么关于奥运会那场世界上影响力更大的体育盛会,背后有哪些有趣的数据?
奥运会参赛国数量和角逐项目有哪些变革?列国累计奖牌数排名是如何的?参赛运发动的年龄和身高有哪些特征?今天我们就带你用数据来纵览120年奥运史。奥林匹克运动会发源于两千多年前的古希腊,因举办地在奥林匹亚而得名。并于1896年举办了首届奥运会,1924年举办了首届冬奥会,是世界上影响力更大的体育盛会。
01 数据理解我们拔取了一个关于现代奥运会的汗青数据集,包罗从1896年雅典奥运会到2016年里约奥运会的所有奥运会。
数据集取自网站:http://www.sports-reference.com
需要留意的是,冬季奥运会和夏日奥运会从1994年起分隔,每两年间隔举行,1992年冬季奥运会是最初一届与夏日奥运会同年举行的冬奥会。自1924年起头第1届,截至2018年共举办了23届,每四年一届。
athlete_events.csv 文件包罗271116行和15列。每一行对应于在一个零丁的奥运会项目(运发动项目)中参赛的运发动。列为:
ID - 运发动的ID编号Name - 运发动姓名Sex - 性别Age - 年龄Height - 身高(cm)Weight - 体重(kg)Team - 步队名称NOC - 国度奥委会编码Games - 年份和季节Year - 年份Season - 季节City - 主办城市Sport - 体育运动Event - 角逐项目Medal - 获奖情况(金牌、银牌、铜牌或无)02 读入数据起首导入包和数据。
# 导入库 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import plotly as py import plotly.graph_objs as go import plotly.express as px import plotly.figure_factory as ff from plotly.subplots import make_subplots pyplot = py.offline.plot # 读入数据 df_athlete = pd.read_csv(./archive/athlete_events.csv) df_regions = pd.read_csv(./archive/noc_regions.csv) df_athlete.head() df_athlete.info() <class pandas.core.frame.DataFrame> RangeIndex: 271116 entries, 0 to 271115 Data columns (total 15 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 ID 271116 non-null int64 1 Name 271116 non-null object 2 Sex 271116 non-null object 3 Age 261642 non-null float64 4 Height 210945 non-null float64 5 Weight 208241 non-null float64 6 Team 271116 non-null object 7 NOC 271116 non-null object 8 Games 271116 non-null object 9 Year 271116 non-null int64 10 Season 271116 non-null object 11 City 271116 non-null object 12 Sport 271116 non-null object 13 Event 271116 non-null object 14 Medal 39783 non-null object dtypes: float64(3), int64(2), object(10) memory usage: 31.0+ MB df_regions.head() 03 数据预处置此处对数据做以下处置,以便利后续的阐发:
将两个数据集横向合并为一个数据集,Key为NOC那一列Sex:数据值替代Medal:空值填充# 合并数据 df_all = pd.merge(df_athlete, df_regions, how=left, on=NOC) # 处置Sex列 df_all[Sex] = df_all[Sex].map({M: Male, F: Female}) # 处置Medal列 df_all[Medal].fillna(No Medal, inplace=True) df_all.head() 04 数据可视化我们利用处置好的数据做数据可视化阐发,成果如下:
1奥运会总体数据
参赛国度数量变革
整体上来看,参赛国度呈现上升趋向,但此中有两届奥运会存在异常的下降。别离是:
1976年蒙特利尔奥运会:呈现了规模空前的反种族蔑视动作,此次运动会遭到了非洲国度的抵抗,规模远逊于上届。
1980年莫斯科奥运会:为了暗示对苏联入侵阿富汗的训斥和愤慨,美国带头回绝参与1980年的莫斯科奥运会,并号召其他国度一路抵抗。在美国的号召下,最末一共有65个国度抵抗莫斯科奥运会,占其时报名参赛国数量的五分之二。最初只要80个国度参与莫斯科奥运会, 大约5000余人参赛,参赛人数还没有参与报导的记者数量多,创汗青记录。
角逐项目数量变革
能够看出,奥运会的角逐项目呈现海浪式上升的趋向,此中在1980-2000年那20年,角逐项目增长趋向更大,且以夏日奥运会尤为凸起,但2000年以后角逐项目增加趋向渐渐变成平稳的态势了。
各个国度累计奖牌数量TOP 20
我们拔取了各个项目获得奖牌数目排名前20的国度,通过比力发现美国不论是金牌、银牌仍是铜牌都领先良多,然后是俄罗斯和德国。因为缺席了多届奥运会,我国的累计奖牌数排名偏后。
2 奥运会参赛运发动数据
每届参赛人数
从图中能够察看到,夏日奥运会参赛最多人数的是2000年的悉尼奥运会,参赛人数13821人,冬季奥运会参赛人数最多的是2014年,参赛人数4891人。
参与夏日奥运会的人数远远多于冬季的人数,可能是角逐项目少的原因。同时,第一次世界大战和第二次世界大战期间没有举办过奥运会。
参赛运发动男女人数和比例变革
(男女人数变革)(男女比例变革)我们纵不雅整个奥运汗青,固然奥运会的起头,运发动男女比例较为悬殊,男性运发动占比不断高于女性运发动。但是我们能够看到,跟着奥运会的开展,女性运发动的占比不断在提拔,目前参与奥运会男女比例几乎接近于1:1。
参赛运发动年龄和奖牌数
图中能够看出,年龄的散布呈现右偏散布,此中80%的区域集中在19岁到33岁之间,25岁摆布是运发动的黄金年龄。
纵不雅整个奥运史,年龄最小的运发动仅为10岁。1896年,第一届现代奥运会在希腊举办,仅仅10岁零218天的东道主体操选手Dimitrios Loundras参赛并获得了铜牌,
1928年阿姆斯特丹夏日奥运会中,一名97岁高龄的美国“运发动”,参与了雕琢的“运动项目”,但并未获得名次。那个记录应该是不会被突破了。
参赛运发动的身高、体重散布
(身高变革)(体重变革)我们挑选了1960年之后的数据,发现参赛选手中男性身高散布在127cm-226cm之间,女性身高散布在127cm-213cm之间,男性体重的散布在37kg-226kg之间,女性的体重散布在25kg-167kg之间。
结语在人类奥林匹克史上,或许没有哪一届奥运会,像2020东京奥运会一样盘曲。因为各类不确定性,本届奥运会各代表团关于参赛目的都显得非常低调。
不外,从另一个角度来看,不确定性也是体育角逐魅力的一部门,“最难猜”未必就“不出色”。
东京奥运,群雄逐鹿,一场大戏即将上演。最初让我们一路等待我国奥运健儿顺利平安参赛,获得好成就吧!
参考材料:
http://rstudio-pubs-static.s3.amazonaws.com/510365_4989159dfb754097843f17b9606aabfe.html
维基百科 奥林匹克运动会
https://zh.wikipedia.org/wiki/%E5%A5%A5%E6%9E%97%E5%8C%B9%E5%85%8B%E8%BF%90%E5%8A%A8%E4%BC%9A
本文出品:CDA数据阐发师