#!/usr/bin/env python
# coding: utf-8
# <h1>Table of Contents<span class="tocSkip"></span></h1>
# <div class="toc"><ul class="toc-item"><li><span><a href="#项目介绍" data-toc-modified-id="项目介绍-1"><span class="toc-item-num">1 </span>项目介绍</a></span></li><li><span><a href="#导入库-&-数据" data-toc-modified-id="导入库-&-数据-2"><span class="toc-item-num">2 </span>导入库 & 数据</a></span></li><li><span><a href="#累计奖牌数" data-toc-modified-id="累计奖牌数-3"><span class="toc-item-num">3 </span>累计奖牌数</a></span><ul class="toc-item"><li><span><a href="#各国夏奥会累计奖牌数" data-toc-modified-id="各国夏奥会累计奖牌数-3.1"><span class="toc-item-num">3.1 </span>各国夏奥会累计奖牌数</a></span></li><li><span><a href="#各国冬奥会累计奖牌数" data-toc-modified-id="各国冬奥会累计奖牌数-3.2"><span class="toc-item-num">3.2 </span>各国冬奥会累计奖牌数</a></span></li></ul></li><li><span><a href="#各项运动产生金牌数" data-toc-modified-id="各项运动产生金牌数-4"><span class="toc-item-num">4 </span>各项运动产生金牌数</a></span></li><li><span><a href="#运动员层面" data-toc-modified-id="运动员层面-5"><span class="toc-item-num">5 </span>运动员层面</a></span><ul class="toc-item"><li><span><a href="#历年参赛人数趋势" data-toc-modified-id="历年参赛人数趋势-5.1"><span class="toc-item-num">5.1 </span>历年参赛人数趋势</a></span></li><li><span><a href="#历年女性运动员占比趋势" data-toc-modified-id="历年女性运动员占比趋势-5.2"><span class="toc-item-num">5.2 </span>历年女性运动员占比趋势</a></span></li><li><span><a href="#获得金牌最多的运动员" data-toc-modified-id="获得金牌最多的运动员-5.3"><span class="toc-item-num">5.3 </span>获得金牌最多的运动员</a></span></li><li><span><a href="#获得金牌/奖牌比例" data-toc-modified-id="获得金牌/奖牌比例-5.4"><span class="toc-item-num">5.4 </span>获得金牌/奖牌比例</a></span></li><li><span><a href="#运动员平均体质数据" data-toc-modified-id="运动员平均体质数据-5.5"><span class="toc-item-num">5.5 </span>运动员平均体质数据</a></span></li></ul></li><li><span><a href="#🇨🇳中国奥运会表现" data-toc-modified-id="🇨🇳中国奥运会表现-6"><span class="toc-item-num">6 </span>🇨🇳中国奥运会表现</a></span><ul class="toc-item"><li><span><a href="#历届奥运会参赛人数" data-toc-modified-id="历届奥运会参赛人数-6.1"><span class="toc-item-num">6.1 </span>历届奥运会参赛人数</a></span></li><li><span><a href="#历届奥运会奖牌数" data-toc-modified-id="历届奥运会奖牌数-6.2"><span class="toc-item-num">6.2 </span>历届奥运会奖牌数</a></span></li><li><span><a href="#优势项目" data-toc-modified-id="优势项目-6.3"><span class="toc-item-num">6.3 </span>优势项目</a></span></li></ul></li><li><span><a href="#🇺🇸美国奥运会表现" data-toc-modified-id="🇺🇸美国奥运会表现-7"><span class="toc-item-num">7 </span>🇺🇸美国奥运会表现</a></span><ul class="toc-item"><li><span><a href="#历届奥运会参加人数" data-toc-modified-id="历届奥运会参加人数-7.1"><span class="toc-item-num">7.1 </span>历届奥运会参加人数</a></span></li><li><span><a href="#历届奥运会获得奖牌数" data-toc-modified-id="历届奥运会获得奖牌数-7.2"><span class="toc-item-num">7.2 </span>历届奥运会获得奖牌数</a></span></li><li><span><a href="#优势项目" data-toc-modified-id="优势项目-7.3"><span class="toc-item-num">7.3 </span>优势项目</a></span></li></ul></li><li><span><a href="#被单个国家统治的奥运会项目" data-toc-modified-id="被单个国家统治的奥运会项目-8"><span class="toc-item-num">8 </span>被单个国家统治的奥运会项目</a></span></li></ul></div>
# ### 项目介绍
# * 受疫情影响,2020东京奥运会将延期至2021年举行;
#
# * 虽然延期,但此次奥运会依旧会沿用「2020东京奥运会」这个名称;
#
# * **这也将是奥运会历史上首次延期**(1916年、1940年、1944年曾因一战,二战停办);
#
#
# ------
#
# ***本项目将会从以下角度来呈现奥运会历史:***
# 1. 各国累计奖牌数;
#
# 2. 各项运动产生金牌数
#
# 3. 运动员层面
#
# * 参赛人数趋势
#
# * 女性参赛比例趋势
#
# * 获得金牌最多的运动员
#
# * 获得奖牌/金牌比例
#
# * 各项目运动员平均体质数据
#
# 4. 主要国家表现
# * 🇨🇳中国表现
#
# * 🇺🇸美国表现
#
# 5. **被单个国家统治的奥运会项目**
#
# ### 导入库 & 数据
# In[1]:
import pandas as pd
import numpy as np
import pyecharts
from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode
# In[2]:
athlete_data = pd.read_csv('./athlete_events.csv')
noc_region = pd.read_csv('./noc_regions.csv')
# 关联代表国家
data = pd.merge(athlete_data, noc_region, on='NOC', how='left')
data.head()
# ### 累计奖牌数
# 夏季奥运会 & 冬季奥运会分别统计
# * 夏季奥运会开始于1896年雅典奥运会;
#
# * 冬季奥运会开始于1924年慕尼黑冬奥会;
# In[3]:
medal_data = data.groupby(['Year', 'Season', 'region',
'Medal'])['Event'].nunique().reset_index()
medal_data.columns = ['Year', 'Season', 'region', 'Medal', 'Nums']
medal_data = medal_data.sort_values(by="Year" , ascending=True)
# In[4]:
def medal_stat(year, season='Summer'):
t_data = medal_data[(medal_data['Year'] <= year) & (medal_data['Season'] == season)]
t_data = t_data.groupby(['region', 'Medal'])['Nums'].sum().reset_index()
t_data = t_data.set_index(['region', 'Medal']).unstack().reset_index().fillna(0, inplace=False)
t_data = sorted([(row['region'][0], int(row['Nums']['Gold']), int(row['Nums']['Silver']), int(row['Nums']['Bronze']))
for _, row in t_data.iterrows()], key=lambda x: x[1]+x[2]+x[3], reverse=True)[:20]
return t_data
# #### 各国夏奥会累计奖牌数
#
# * 截止2016年夏季奥运会,**美俄分别获得了2544和1577枚奖牌**,位列一二位;
#
# * **中国由于参加奥运会时间较晚,截止2016年累计获得了545枚奖牌**,位列第七位;
#
# In[5]:
year_list = sorted(list(set(medal_data['Year'].to_list())), reverse=True)
tl = Timeline(init_opts=opts.InitOpts(theme='dark', width='1000px', height='1000px'))
tl.add_schema(is_timeline_show=True,is_rewind_play=True, is_inverse=False,
label_opts=opts.LabelOpts(is_show=False))
for year in year_list:
t_data = medal_stat(year)[::-1]
bar = (
Bar(init_opts=opts.InitOpts())
.add_xaxis([x[0] for x in t_data])
.add_yaxis("铜牌🥉", [x[3] for x in t_data],
stack='stack1',
itemstyle_opts=opts.ItemStyleOpts(border_color='rgb(220,220,220)',color='rgb(218,165,32)'))
.add_yaxis("银牌🥈", [x[2] for x in t_data],
stack='stack1',
itemstyle_opts=opts.ItemStyleOpts(border_color='rgb(220,220,220)',color='rgb(192,192,192)'))
.add_yaxis("金牌🏅️", [x[1] for x in t_data],
stack='stack1',
itemstyle_opts=opts.ItemStyleOpts(border_color='rgb(220,220,220)',color='rgb(255,215,0)'))
.set_series_opts(label_opts=opts.LabelOpts(is_show=True,
positio
没有合适的资源?快使用搜索试试~ 我知道了~
体育-120年奥运会数据可视化-约1300行(Pyecharts可视化).zip
共6个文件
ipynb:2个
csv:2个
html:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 21 浏览量
2024-04-21
22:06:14
上传
评论
收藏 5.42MB ZIP 举报
温馨提示
Python数据分析可视化预测项目例子实例源码代码实战案例带数据集
资源推荐
资源详情
资源评论
收起资源包目录
体育-120年奥运会数据可视化-约1300行(Pyecharts可视化).zip (6个子文件)
120年奥运会数据可视化.py 68KB
athlete_events.csv 34.85MB
120年奥运会数据可视化.html 1.85MB
noc_regions.csv 4KB
.ipynb_checkpoints
120年奥运会数据可视化-checkpoint.ipynb 1.54MB
120年奥运会数据可视化.ipynb 1.54MB
共 6 条
- 1
资源评论
通信瓦工
- 粉丝: 319
- 资源: 5173
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功