Original size 1140x1600

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

PROTECT STATUS: not protected
8

Введение

Для анализа были выбраны данные с 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

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

Код

Анализ данных и визуализация по списку Олимпийский медалей
8
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