主要探索分析奥运会的热门体育项目、得金牌数最多的国家,夏季冬季不同性别的参赛运动员的年龄,以及中国的在奥运会上的表现等问题。
项目链接,欢迎一键fork运行
目录
1. 导入包+基本的数据处理
2. 生成奥运会运动项目的词云(Word Cloud)
3. 查看参赛者的男女基本信息
3.1. 120年来参赛者的男女比例
3.2. 查看参赛者的男性与女性的年龄分布
3.3. 查看1896-2014年男女参赛者的平均年龄变化
3.4. 查看120年来 夏季 奥运会获奖运动员不同性别的平均年龄变化
3.5. 查看120年来❄️冬季❄️奥运会获奖运动员不同性别的平均年龄变化
4. 在120年来Top 20 得金牌最多的国家
5. 最热门 的体育项目
6. 中国 奥运会Performance
6.1. 中国历届奥运会运动员获得奖牌人数
6.2. Top 10 中国 的强项运动项目
1. 导入包+基本的数据处理
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from plotly.offline import iplot
from plotly.graph_objs import *
import colorlover as cl
import seaborn as sns
color = sns.color_palette()
f_p = '/home/kesci/input/olympic/athlete_events.csv'
athlete_events = pd.read_csv(f_p)
#查看dataframe的前四行数数据
athlete_events.head(4)
athlete_events.index.size
#查看数据中各个字段的空值的个数
athlete_events.isnull().sum()
#查看列名及其数值类型
athlete_events.info()
athlete_events.describe()
信息中显示历届奥运会的运动员平均年龄在25-26岁,平均身高175cm,平均体重70.7kg
2. 生成奥运会运动项目的词云(Word Cloud)
kindsport = set()
for m in athlete_events.Sport:
kindsport.update(g for g in m.split('\n'))
print(kindsport)
from wordcloud import WordCloud
wc = WordCloud(
background_color='white',
width=1200,
height=700,
max_words=3000,
random_state=200,
min_font_size=35,
max_font_size=80
)
wc.generate(",".join(kindsport))
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.show()
3. 查看参赛者的男女基本信息
3.1 120年来参赛者的男女比例
fig = {
"data":[{
"values":athlete_events['Sex'].value_counts(),
"labels":['男性','女性',],
"marker":{'colors':cl.scales['4']['div']['PuOr']},
"name":"参赛者的男女比例",
"hoverinfo":"label+percent+name",
"hole":.4,
"type":"pie"
}],"layout":{"title":"参赛者的男女比例"}
}
iplot(fig,filename='donut')
3.2 查看