Original size 2480x3500

Анализ Global YouTube Statistics

PROTECT STATUS: not protected
The project is taking part in the competition

План

Вводная часть Какие данные: рейтинг топ‑каналов YouTube и метрики (подписчики, просмотры, категория, страна, доходы и т. п.) Где нашли: файл пользователя Какие графики и зачем: Горизонтальная столбчатая диаграмма — Top‑10 по подписчикам (сравнение лидеров). Столбчатая диаграмма — частоты категорий (структура контента). Scatter‑plot на лог‑шкалах — связь «подписчики ↔ просмотры» (проверка зависимости). Boxplot — распределение оценочных годовых доходов по типу канала (сравнение групп).

Этапы работы Загрузка данных, обработка пропусков, создание производных показателей Исследовательская статистика и объясняющие визуализации Единый стиль графиков (консистентная инфографика)

Использованные статистические методы Описательная статистика (median, quantile, distribution) Частотный анализ (value_counts) Корреляция Пирсона (pandas .corr) Сравнение распределений по группам (boxplot)

Визуализация графиков

График 1: Топ‑10 каналов по подписчикам

top10 = df.sort_values («subscribers», ascending=False).head (10)

fig, ax = plt.subplots (figsize=(10, 6)) ax.barh (top10[«Youtuber»][: -1], (top10[«subscribers»]/1e6)[: -1]) ax.set_title («Топ‑10 YouTube‑каналов по подписчикам») ax.set_xlabel («Подписчики, млн») ax.set_ylabel (»») add_caption (ax, f"Источник: Global YouTube Statistics. Кодировка чтения: {used_encoding}.») fig.tight_layout () plt.show ()

big
Original size 1280x768

График 2: Частоты категорий (структура контента)

cat_counts = df[«category»].fillna («Unknown»).value_counts ().head (12)

fig, ax = plt.subplots (figsize=(10, 6)) ax.bar (cat_counts.index, cat_counts.values) ax.set_title («Какие категории чаще встречаются среди топ‑каналов (Top‑12)») ax.set_ylabel («Количество каналов») ax.set_xlabel («Категория») ax.tick_params (axis="x», rotation=45) add_caption (ax, «Метод: частотный анализ (value_counts).») fig.tight_layout () plt.show ()

Original size 1280x768

График 3: Подписчики vs просмотры (лог‑шкалы) + корреляция Пирсона

sample = df.dropna (subset=[«subscribers», «video views»]).copy () corr = sample[«subscribers»].corr (sample[«video views»])

leaders = sample.sort_values («subscribers», ascending=False).head (6)

fig, ax = plt.subplots (figsize=(10, 6)) ax.scatter (sample[«subscribers»], sample[«video views»], alpha=0.45) ax.set_xscale («log») ax.set_yscale («log») ax.set_title («Подписчики vs Просмотры: связь на лог‑шкалах») ax.set_xlabel («Подписчики (лог)») ax.set_ylabel («Всего просмотров (лог)») for _, r in leaders.iterrows (): ax.annotate (str (r[«Youtuber»]), (r[«subscribers»], r[«video views»]), xytext=(5, 5), textcoords="offset points», fontsize=9)

add_caption (ax, f"Корреляция Пирсона (subscribers, views) = {corr:.3f}.») fig.tight_layout () plt.show ()

Original size 1280x768

График 4: Boxplot — годовой доход (midpoint) по типу канала

tmp = df.dropna (subset=[«earnings_mid_yearly», «channel_type»]).copy () top_types = tmp[«channel_type»].value_counts ().head (8).index.tolist () tmp = tmp[tmp[«channel_type»].isin (top_types)].copy ()

groups = [(tmp.loc[tmp[«channel_type»]==t, «earnings_mid_yearly»]/1e6).dropna ().values for t in top_types]

fig, ax = plt.subplots (figsize=(11, 6)) ax.boxplot (groups, labels=top_types, showfliers=False) ax.set_title («Годовой доход (midpoint) по типу канала — сравнение распределений») ax.set_ylabel («Оценка годового дохода, млн $») ax.tick_params (axis="x», rotation=30) add_caption (ax, «midpoint = (low + high)/2; выбросы скрыты (showfliers=False) для читабельности.») fig.tight_layout () plt.show ()

Original size 1280x698

Пояснение статистических методов Описательная статистика

медиана подписчиков и просмотров: устойчива к выбросам; полезна при скошенных распределениях. Частотный анализ (value_counts)

показывает структуру датасета по категориям/типам контента. Корреляция Пирсона

измеряет линейную связь между двумя числовыми переменными. Важно: при сильной асимметрии мы визуализируем связь на лог‑шкалах, чтобы увидеть структуру, но корреляцию считаем на исходных данных. Сравнение распределений (boxplot)

медиана + межквартильный размах (IQR) по группам, чтобы сравнить типы каналов по доходности. Выбросы можно скрывать на графике для читабельности, но в анализе их стоит дополнительно изучать.