Análise de dados das Olimpíadas usando Python
Neste artigo, veremos a análise das Olimpíadas usando Python. Os modernos Jogos Olímpicos ou Olimpíadas são os principais eventos esportivos internacionais, com competições de esportes de verão e inverno, nas quais milhares de atletas de todo o mundo participam de uma variedade de competições. Os Jogos Olímpicos são considerados a competição esportiva mais importante do mundo, com mais de 200 países participantes.
O número total de eventos nas Olimpíadas é de 339 em 33 esportes. E para cada evento existem vencedores. Portanto, vários dados são gerados. Então, usando Python, iremos analisar esses dados.
Módulos Usados
- Pandas : é usado para analisar os dados,
- NumPy : NumPy é um pacote de processamento de array de propósito geral.
- Matplotlib : é uma extensão de matemática numérica NumPy
- seaborn : é usado para plotagem de gráficos estatísticos de visualização em Python
Arquitetura do modelo:
Implementação Stepwise
Etapa 1: Importar bibliotecas
# importing all necessary libraries
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
Etapa 2: Compreendendo o banco de dados
Ao lidar com dados olímpicos, temos dois arquivos CSV. Um contendo os custos relacionados aos esportes de resultados dos Jogos Olímpicos de todos os anos. E outra contém as informações sobre os atletas de todos os anos em que participaram com informações.
O arquivo de dados CSV pode ser baixado aqui: Conjuntos de dados
Etapa 3: limpeza e formatação de dados
Importamos ambos os conjuntos de dados usando o. read_csv() em um dataframe usando pandas e exibiu as primeiras 5 linhas de cada conjunto de dados.
data = pd.read_csv('athlete_events.csv') # read file
# data.head() display first 5 entry
# data.describe describe about model
# data.info give info about data
print(data.head(), data.describe(), data.info())
Saída:
Etapa 4: Mesclando dois DataFrame
Aqui nós iremos fundir dois dataframes usando pandas.merge() em python.
# regions and country noc data csv file
regions = pd.read_csv('datasets_31029_40943_noc_regions.csv')
print(regions.head())
# merging to data and regions frame
merged = pd.merge(data, regions, on='NOC', how='left')
print(merged.head())
Saída:
Análise de dados das Olimpíadas
Os dados agora estão disponíveis usando pandas e matplotlib vamos ver alguns exemplos
Análise de dados de medalhistas de ouro
Criação de um novo quadro de dados incluindo apenas medalhistas de ouro.
# creating goldmedal dataframes
goldMedals = merged[(merged.Medal == 'Gold')]
print(goldMedals.head())
Saída :
Medalha de ouro em relação à idade:
Aqui vamos criar um gráfico do número de medalhas de ouro em relação à idade. Para isso, criaremos um gráfico de contagem que mostra o eixo X como a idade dos jogadores e o eixo Y representa o número de medalhas.
plt.figure(figsize=(20, 10))
plt.title('Distribution of Gold Medals')
sns.countplot(goldMedals['Age'])
plt.show()
Saída :
Imprima o número de atletas que são medalhistas de ouro e com idade superior a 50 com suas informações.
goldMedals = merged[(merged.Medal == 'Gold')]
print('The no of athletes is',
goldMedals['ID'][goldMedals['Age'] > 50].count(), '\n')
print(goldMedals[goldMedals['Age'] > 50])
Saída :
Crie um novo dataframe chamado masterDisciplines no qual iremos inserir este novo conjunto de pessoas e, em seguida, criaremos uma visualização com ele
masterDisciplines = goldMedals['Sport'][goldMedals['Age'] > 50]
plt.figure(figsize=(20, 10))
plt.tight_layout()
sns.countplot(masterDisciplines)
plt.title('Gold Medals for Athletes Over 50')
plt.show()
Saída :
Mulheres que podem brincar no verão
Exibe todas as mulheres atletas que jogaram na temporada de verão e mostra o aumento de mulheres atletas após um longo período por meio de representação gráfica.
womenInOlympics = merged[(merged.Sex == 'F') &
(merged.Season == 'Summer')]
print(womenInOlympics.head(10))
sns.set(style="darkgrid")
plt.figure(figsize=(20, 10))
sns.countplot(x='Year', data=womenInOlympics)
plt.title('Women medals per edition of the Games')
plt.show()
Saída :
Os 5 principais países que ganharam mais medalhas
Aqui, imprimiremos os 5 principais países e os mostraremos no gráfico com catplot .
print(goldMedals.region.value_counts().reset_index(name='Medal').head())
totalGoldMedals = goldMedals.region.value_counts()
.reset_index(name='Medal').head(5)
g = sns.catplot(x="index", y="Medal", data=totalGoldMedals,
height=6, kind="bar", palette="muted")
g.despine(left=True)
g.set_xlabels("Top 5 countries")
g.set_ylabels("Number of Medals")
plt.title('Medals per Country')
plt.show()
saída:
Análise de peso dos jogadores
Aqui, veremos como é o peso ao longo do ano para levantadores masculinos por meio da representação gráfica usando o gráfico de pontos .
MenOverTime = merged[(merged.Sex == 'M') &
(merged.Season == 'Summer')]
wlMenOverTime = MenOverTime.loc[MenOverTime['Sport'] == 'Weightlifting']
plt.figure(figsize=(20, 10))
sns.pointplot('Year', 'Weight', data=wlMenOverTime, palette='Set2')
plt.title('Weight over year for Male Lifters')
plt.show()
Saída :
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva