本文的文字及圖片來源於網絡,僅供學習、交流使用,不具備任何商業用途,若有問題請及時聯繫咱們以做處理。html
如下文章來源於CDA數據分析師 ,做者:CDA數據分析師ios
2020年年初,忽然襲來的新冠疫情給咱們的生活帶來了巨大的改變,與此同時也讓許多國際體育賽事停擺。3月24日,東京奧組委宣告,2020東京夏季奧運會延期至2021年夏季舉行。express
隨着國內疫情逐漸獲得有效控制,咱們的生活已步入正軌,但全球的疫情形勢還很嚴峻。8月份以來,日本的第二波疫情來勢洶洶,單日新增確診人數不斷刷新歷史新高,11月18日單日新增確診人數已達到2201人。網絡
這也使得本來延遲一年的2020東京奧運會,再次籠罩上了一層不肯定性。人們不由在想,已經要延期一年的東京奧運會還能順利舉辦嗎?學習
那麼關於奧運會這場世界上影響力最大的體育盛會,背後有哪些有趣的數據?網站
奧運會參賽國數量和比賽項目有哪些變化?編碼
各國累計獎牌數排名是怎樣的?spa
參賽運動員的年齡和身高有哪些特徵?code
今天咱們就帶你用數據來好好盤一盤。htm
奧林匹克運動會發源於兩千多年前的古希臘,因舉辦地在奧林匹亞而得名。並於1896年舉辦了首屆奧運會,1924年舉辦了首屆冬奧會,是世界上影響力最大的體育盛會。
咱們選取了一個關於現代奧運會的歷史數據集,包括從1896年雅典奧運會到2016年裏約奧運會的全部奧運會。
數據集取自網站:www.sports-reference.com
須要注意的是,冬季奧運會和夏季奧運會從1994年起分開,每兩年間隔舉行,1992年冬季奧運會是最後一屆與夏季奧運會同年舉行的冬奧會。自1924年開始第1屆,截至2018年共舉辦了23屆,每四年一屆。
athlete_events.csv 文件包含271116行和15列。每一行對應於在一個單獨的奧運會項目(運動員項目)中參賽的運動員。列爲:
首先導入包和數據。
# 導入庫 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()
此處對數據作如下處理,以方便後續的分析:
# 合併數據 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