今年的奧運會延期至2021年夏季舉行,盤點一下歷屆奧運會資料
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯絡我們以作處理。
以下文章來源於CDA資料分析師 ,作者:CDA資料分析師
前言
2020年年初,突然襲來的新冠疫情給我們的生活帶來了巨大的改變,與此同時也讓許多國際體育賽事停擺。3月24日,東京奧組委宣告,2020東京夏季奧運會延期至2021年夏季舉行。
隨著國內疫情逐漸得到有效控制,我們的生活已步入正軌,但全球的疫情形勢還很嚴峻。8月份以來,日本的第二波疫情來勢洶洶,單日新增確診人數不斷刷新歷史新高,11月18日單日新增確診人數已達到2201人。
這也使得原本延遲一年的2020東京奧運會,再次籠罩上了一層不確定性。人們不禁在想,已經要延期一年的東京奧運會還能順利舉辦嗎?
那麼關於奧運會這場世界上影響力最大的體育盛會,背後有哪些有趣的資料?
奧運會參賽國數量和比賽專案有哪些變化?
各國累計獎牌數排名是怎樣的?
參賽運動員的年齡和身高有哪些特徵?
今天我們就帶你用資料來好好盤一盤。
奧林匹克運動會發源於兩千多年前的古希臘,因舉辦地在奧林匹亞而得名。並於1896年舉辦了首屆奧運會,1924年舉辦了首屆冬奧會,是世界上影響力最大的體育盛會。
資料理解
我們選取了一個關於現代奧運會的歷史資料集,包括從1896年雅典奧運會到2016年裡約奧運會的所有奧運會。
資料集取自網站: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 - 獲獎情況(金牌、銀牌、銅牌或無)
讀入資料
首先匯入包和資料。
# 匯入庫 importnumpy 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()
資料預處理
此處對資料做以下處理,以方便後續的分析:
- 將兩個資料集橫向合併為一個數據集,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()
資料視覺化
我們使用處理好的資料做資料視覺化分析,結果如下:
奧運會總體資料
參賽國家數量變化
整體上來看,參賽國家呈現上升趨勢,但其中有兩屆奧運會存在異常的下降。分別是:
1976年蒙特利爾奧運會:出現了規模空前的反種族歧視行動,此次運動會遭到了非洲國家的抵制,規模遠遜於上屆。
1980年莫斯科奧運會:為了表示對蘇聯入侵阿富汗的譴責和憤怒,美國帶頭拒絕參加1980年的莫斯科奧運會,並號召其他國家一起抵制。在美國的號召下,最終一共有65個國家抵制莫斯科奧運會,佔當時報名參賽國數量的五分之二。最後只有80個國家參加莫斯科奧運會, 大約5000餘人參賽,參賽人數還沒有參與報道的記者數量多,創歷史記錄。
比賽專案數量變化
可以看出,奧運會的比賽專案呈現波浪式上升的趨勢,其中在1980-2000年這20年,比賽專案增長趨勢最大,且以夏季奧運會尤為突出,但2000年以後比賽專案增加趨勢慢慢變為平穩的態勢了。
各個國家累計獎牌數量TOP 20
我們選取了各個專案獲得獎牌數目排名前20的國家,通過比較發現美國不管是金牌、銀牌還是銅牌都領先很多,然後是俄羅斯和德國。由於缺席了多屆奧運會,我國的累計獎牌數排名偏後。
奧運會參賽運動員資料
每屆參賽人數
從圖中可以觀察到,夏季奧運會參賽最多人數的是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之間。
結語
由於新冠疫情的影響,日本東京奧運會成為了現代奧林匹克運動史上首屆被推遲的奧運會。而這次延期帶來的影響無疑是巨大的,據多家日本媒體報道,東京奧運會推遲舉行造成的直接經濟損失約為60億美元。賽事場館和酒店的支出、人力成本等各項額外開支,都會讓東道主接下來的籌辦捉襟見肘。總之,還是期待明年的全球疫情能夠有所好轉吧...
參考資料:
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