Original size 1584x2223

Анализ киноиндустрии Netflix

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

Введение

Какие данные выбраны, где они найдены

В этом проекте представлен анализ данных о фильмах с использованием Python и библиотеки Pandas. Для работы был выбран открытый датасет с платформы Kaggle, содержащий информацию о фильмах: год выпуска, жанры, пользовательские рейтинги и количество голосов.

Данные представлены в табличном формате CSV, что делает их удобными для программной обработки и анализа.

Почему данные представляют интерес

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

Типаж графиков в проекте

Гистограмма — для анализа распределения рейтингов; Линейный график — для изучения динамики среднего рейтинга во времени; Столбчатая диаграмма — для сравнения популярности жанров;

Описание данных и источник

Для анализа был использован датасет, содержащий информацию о фильмах: год выпуска, жанры, рейтинги и количество пользовательских оценок. Данные были взяты из открытого источника «Kaggle» и представлены в табличном формате CSV.

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

Подготовка данных

Вводные данные

Анализ начинается с загрузки данных и первичного знакомства с их структурой. Для работы используется библиотека Pandas, предназначенная для анализа табличных данных. import pandas as pd Этот код загружает CSV-файл с фильмами и позволяет визуально проверить, как выглядят первые строки таблицы.

Для визуализации данных используется библиотека Matplotlib, позволяющая гибко настраивать внешний вид графиков. import matplotlib.pyplot as plt

Для стилизации графиков и работы с пользовательскими шрифтами используется модуль FontProperties из Matplotlib. from matplotlib.font_manager import FontProperties

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

Начало Стилизации

title_font = FontProperties ( family='Courier New', weight='bold', size=16 ) plt.rcParams['figure.figsize'] = (9, 5) plt.rcParams['axes.facecolor'] = '#F2F2F2' plt.rcParams['figure.facecolor'] = '#F2F2F2' plt.rcParams['font.family'] = 'serif' plt.rcParams['axes.titleweight'] = 'bold' plt.rcParams['axes.edgecolor'] = «#82180c»

Для визуализаций

был задан единый стилистический набор параметров с помощью rcParams. Это позволило обеспечить визуальную консистентность графиков: задать размеры, цвет фона, шрифты и акцентные элементы. Отдельно был настроен стиль заголовков с использованием FontProperties.

Очистка данных

data_frame = data_frame.dropna (subset=['release_year']) data_frame['release_year'] = data_frame['release_year'].astype (int) data_frame['main_genre'] = data_frame['listed_in'].str.split (', ').str[0]

На этом этапе были удалены записи без указания года выпуска, так как такие фильмы невозможно корректно включить во временной анализ.

Соотношение фильмов и сериалов

data_frame['type'].value_counts ().plot (kind='bar', color = «#82180c») plt.title ('Соотношение фильмов и сериалов на Netflix', fontproperties=title_font) plt.xlabel ('Тип контента') plt.ylabel ('Количество') plt.show ()

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

Original size 781x521

Общее количество релизов по годам

releases_by_year = data_frame['release_year'].value_counts ().sort_index () plt.plot (releases_by_year, color='#82180c') plt.title ('Количество релизов Netflix по годам', fontproperties=title_font) plt.xlabel ('Год') plt.ylabel ('Количество релизов') plt.show ()

Для анализа динамики выпуска контента был построен линейный график количества релизов по годам. При визуализации осознанно используется нестандартное цветовое решение: вместо стандартного синего цвета Matplotlib задан тёмно-красный оттенок, что позволяет сформировать единый визуальный стиль проекта и отойти от дефолтных настроек библиотеки.

Original size 781x472

Выявление самых просматриваемых жанров

top_genres = data_frame['main_genre'].value_counts ().head (10) plt.barh (top_genres.index, top_genres.values, color = «#82180c») plt.title ('Топ-10 жанров на Netflix', fontproperties=title_font) plt.xlabel ('Количество тайтлов') plt.show ()

Original size 911x472

Возрастное ограничение

data_frame['rating'].value_counts ().plot (kind='bar', color = «#82180c») plt.title ('Распределение возрастных рейтингов', fontproperties=title_font) plt.xlabel ('Рейтинг') plt.ylabel ('Количество') plt.show ()

Также была попытка изменить дефолтный шрифт, но к сожалению в существующей библиотеке не оказалось конкретно того который я хотел использовать.

Original size 781x522

Итоговые выводы

В результате анализа

были выявлены ключевые особенности структуры и динамики контента Netflix. Анализ показал, что фильмы значительно преобладают над сериалами. Это указывает на ориентацию платформы не только на долгосрочные форматы, но и на массовый выпуск самостоятельных киноработ. Количества релизов по годам демонстрирует выраженный рост выпуска контента, особенно в последние годы. Это отражает стратегию Netflix по расширению библиотеки и усилению присутствия на глобальном рынке. Выделение основного жанра фильма позволило выявить наиболее представленные категории контента. Такой подход показал, что несколько ключевых жанров доминируют, формируя основу каталога платформы.
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