Original size 1140x1600

Анализ данных и визуализация по списку Олимпийский медалей

PROTECT STATUS: not protected

Введение

Для анализа были выбраны данные с Kaggle Olympics Medal List (1896-2024). Датасет содержит информацию о медалях, полученных странами на Олимпийских играх с 1896 года по 2024 год, с деталями по типу медали (золото, серебро или бронза).

Олимпийские игры это не только спортивное мероприятие, но и политическое. Олимпийские медали — индикатор спортивных достижений, развития страны и уровня инвестиций в спорт. Анализ поможет выявить динамику успехов стран и то, как она меняется с годами.

Для визуализации данных используется несколько видов графиков.  — Столбчатые диаграммы — для топ-10 стран по золотым медалям. Наиболее наглядный вид графика для того, чтобы показать количественные данные и увидеть, у кого больше медалей.  — Линейные графики — для анализа динамики медалей по годам и анализа динамики медалей только для России. Такой тип графика помогает выявить тренды и пики, а также сравнить несколько категорий.  — Тепловая карта — для визуализации доминирующих стран в разные годы.

Этапы работы

  1. Импорт библиотек и загрузка данных

import pandas as pd import matplotlib.pyplot as plt import seaborn as sns

- Настройки визуализации sns.set_theme (style="darkgrid», palette="mako»)

- Загрузка данных from google.colab import files uploaded = files.upload () df = pd.read_csv («olympics.csv»)

- Просмотр структуры данных df.head ()

2. Очистка и предварительный анализ

— Проверяем пропущенные значения df.isnull ().sum ()

- Удаляем строки с отсутствующими значениями df.dropna (inplace=True)

- Преобразуем год в числовой формат df[«Year»] = df[«Year»].astype (int)

Далее проводим непосредственно анализ по нескольких категориям, рисуем графики.

3. Анализ топ-10 стран по количеству медалей

top_countries = df.groupby («NOC»)[«Gold»].sum ().sort_values (ascending=False).head (10)

- Визуализация plt.figure (figsize=(12, 6)) sns.barplot (x=top_countries.values, y=top_countries.index, palette="YlOrBr») plt.title («Топ-10 стран по количеству золотых медалей», fontsize=14) plt.xlabel («Количество золотых медалей») plt.ylabel («Страна») plt.show ()

4. Динамика медалей по годам

medals_by_year = df.groupby («Year»)[[«Gold», «Silver», «Bronze»]].sum ()

— Визуализация plt.figure (figsize=(14, 7)) medals_by_year.plot (kind="line», marker="o», figsize=(14, 7), colormap="coolwarm») plt.title («Динамика количества медалей по годам», fontsize=14) plt.xlabel («Год») plt.ylabel («Количество медалей») plt.legend ([«Gold», «Silver», «Bronze»]) plt.grid (True) plt.show ()

5. Тепловая карта доминирующих стран по годам

- Группируем данные по годам и странам, считаем количество медалей country_year_medals = df.groupby ([«Year», «NOC»])[«Gold»].sum ().unstack ().fillna (0)

- Визуализация plt.figure (figsize=(12, 8)) sns.heatmap (country_year_medals, cmap="coolwarm», linewidths=0.5) plt.title («Тепловая карта доминирующих стран по золотым медалям», fontsize=14) plt.xlabel («Страна») plt.ylabel («Год») plt.show ()

6. Динамика медалей для России

 — Фильтруем данные только для России russia_data = df[df[«NOC»] == «Russia»]

- Группируем данные по годам и суммируем медали russia_medals_by_year = russia_data.groupby («Year»)[[«Gold», «Silver», «Bronze»]].sum ()

- Визуализация plt.figure (figsize=(14, 7)) russia_medals_by_year.plot (kind="line», marker="o», figsize=(14, 7), colormap="Set2») plt.title («Динамика медалей для России с 1896 по 2024 год», fontsize=14) plt.xlabel («Год») plt.ylabel («Количество медалей») plt.legend ([«Золото», «Серебро», «Бронза»]) plt.grid (True) plt.show ()

Для стилизации графиков были выбраны классические цвета и схемы. Я думаю, для того, чтобы информация легко считывалась, она должна быть представлена в удобном, понятном формате.

Описание применения генеративной модели

Для анализа графиков и описаний в проекте был использован искусственный интеллект. GPT-4 от Open AI. Ссылка на модель: https://chatgpt.com/

Итоговые графики и выводы

Original size 1090x557

США занимают первое место с большим отрывом от остальных стран. Россия (и СССР) также находятся в топ-10, что подтверждает их успешные результаты в олимпийском движении. Тенденции показывают, что спортивные державы имеют долгосрочную доминацию в определённых видах спорта и на Олимпийских играх в целом.

Original size 1170x634

Первые Олимпиады (до 1940-х годов) показывают низкий уровень золотых медалей, что связано с ограниченным количеством стран и видами спорта. В 1980-1990-х годах наблюдается значительный рост, что может быть связано с профессионализацией спорта и улучшением подготовленности спортсменов. Последние Олимпиады (после 2000 года) показывают стабильный рост, что связано с участием большего числа стран, а также развитием новых видов спорта, в которых медали также распределяются.

Original size 949x944

Тепловая карта поможет визуализировать, какие страны доминировали по золотым медалям в разные годы. Мы можем использовать тепловую карту для отображения данных, где яркость будет зависеть от количества медалей. США всегда доминировали, что видно по ярким цветам в их строках. Европейские страны, такие как Германия, Франция и Великобритания, также показывают стабильные результаты, хотя и с меньшими пиками.

Original size 1161x634

Россия стабильно выигрывает много золотых медалей, а также серебряных и бронзовых. Однако в последние годы также можно заметить тенденцию к равномерному распределению всех типов медалей, что указывает на развитие различных видов спорта в стране.Тем не менее происходит медленный спад количество медалей. Возможно, этот тренд связан с международными политическими обстоятельствами.

Код

Анализ данных и визуализация по списку Олимпийский медалей
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more