

Концепция проекта
Фильмы — это не только искусство, но и данные. Каждый фильм содержит десятки параметров: жанр, длительность, рейтинг, сборы, метаскор, год выпуска. Эти параметры можно визуализировать, сравнивать и анализировать. Мой проект — это попытка взглянуть на кино как на набор структурированных признаков, чтобы выявить закономерности, которые делают фильм успешным с точки зрения зрителя.
Цель проекта
Цель проекта — провести комплексный анализ параметров фильмов IMDB с использованием методов визуализации данных, чтобы определить статистически значимые зависимости между характеристиками фильмов и их рейтингами.
Загрузка и подготовка данных

Перевод жанров
Создание метки «Высокий рейтинг»
Визуализация и анализ
1. Средний рейтинг по жанрам
Чтобы понять, какие жанры системно получают более высокие оценки, а какие — ниже. Это помогает выявить жанровые предпочтения аудитории.
Жанры «Драма», «Биография» и «История» стабильно показывают самые высокие средние рейтинги. Это говорит о том, что зрители чаще ценят фильмы с эмоциональной глубиной, сильными персонажами и реальными событиями. Комедии, ужасы и фантастика получают более низкие оценки — вероятно, из‑за жанровой специфики: они сильнее зависят от вкуса аудитории и качества исполнения.
Столбчатая диаграмма. (Жанры и Рейтинг) Этот график показывает, какие жанры в среднем получают самые высокие оценки зрителей.
Средний рейтинг по жанрам был рассчитан с использованием группировки данных методом groupby (), после чего для каждого жанра вычислялось среднее значение рейтинга через функцию mean (). Полученные результаты были отсортированы по величине рейтинга с помощью sort_values (), что позволило визуализировать жанры в порядке убывания. Для построения диаграммы использовалась функция sns.barplot (), обеспечивающая наглядное сравнение средних значений.
2. Связь длительности и рейтинга
Чтобы проверить гипотезу: «длинные фильмы получают более высокие оценки».
Хотя разброс большой, заметна тенденция: фильмы длительностью 110–140 минут чаще попадают в диапазон рейтингов 7.5–8.5. Это может означать, что более длинные фильмы дают авторам больше пространства для раскрытия сюжета и персонажей, что положительно влияет на восприятие зрителей.
Точечная диаграмма. (Длительность и Рейтинг) Этот график показывает, как длительность фильма связана с его рейтингом и есть ли между ними тенденция.
Для анализа взаимосвязи между длительностью фильма и его рейтингом была построена точечная диаграмма с использованием функции sns.scatterplot (). Перед визуализацией были выбраны только необходимые столбцы DataFrame, что позволило избежать лишнего шума. Параметр alpha был использован для уменьшения плотности точек и повышения читаемости графика. Подписи осей были добавлены через plt.xlabel () и plt.ylabel (), а общий стиль графика задавался функцией sns.set_theme ().
3. Количество фильмов 8+ по годам
Чтобы увидеть динамику качества киноиндустрии: растёт ли количество высокооценённых фильмов.
С 2006 по 2016 наблюдается рост числа фильмов с рейтингом 8+. Пик — 2016 год. Это может быть связано с развитием технологий, ростом бюджетов, глобализацией кино и усилением конкуренции между студиями.
Линейный график. (Годы и Количество фильмов 8+) Этот график показывает, как менялось число высокооценённых фильмов в разные годы.
Для построения графика динамики фильмов с высоким рейтингом данные были предварительно отфильтрованы по условию df['Рейтинг'] >= 8.0. Затем количество таких фильмов по каждому году рассчитывалось с помощью value_counts () или groupby ('Год').count (). Полученные значения были отсортированы по возрастанию года методом sort_index (). Линейный график строился с использованием sns.lineplot (), а точки на линии добавлялись параметром marker='o' для повышения наглядности.
4. Длительность фильмов 8+ и остальных
Чтобы сравнить распределения длительности и подтвердить выводы из предыдущего графика.
Фильмы с рейтингом 8+ имеют более высокую медиану длительности. Это подтверждает, что «короткие» фильмы реже попадают в топ, а более длинные — чаще оказываются качественными и глубокими.
Boxplot. (Категории рейтинга и Длительность) Этот график показывает, отличаются ли по длительности фильмы с высоким рейтингом от остальных.
Для сравнения распределений длительности фильмов была создана бинарная метка Высокий рейтинг на основе условия df['Рейтинг'] >= 8.0. Затем с помощью функции sns.boxplot () был построен график, позволяющий визуально сравнить медиану, межквартильный размах и выбросы в обеих категориях.
5. Топ‑10 фильмов по рейтингу
Чтобы увидеть конкретные примеры фильмов, которые формируют верхушку рейтинга.
В топ‑10 доминируют драмы, криминальные триллеры и психологические истории. Это подтверждает жанровые выводы: зрители ценят эмоциональную сложность, сильные конфликты и глубокие темы.
Столбчатая диаграмма. (Топ‑10 фильмов) Этот график показывает десять фильмов с самыми высокими рейтингами в датасете.
Метод nlargest () позволяет быстро выбрать лучшие фильмы по рейтингу.
6. Корреляции между параметрами
Чтобы определить, какие параметры действительно связаны между собой статистически.
Сильная корреляция между голосами и сборами — логично: популярные фильмы собирают больше денег. Рейтинг почти не связан со сборами — кассовый успех ≠ качество. Метаскор умеренно коррелирует с рейтингом, но не идеально — критики и зрители оценивают по-разному.
Тепловая карта. (Корреляции параметров) Этот график показывает, какие параметры фильма связаны между собой сильнее всего.
Корреляция между всеми переменными была рассчитана с использованием метода .corr (), который вычисляет коэффициенты корреляции Пирсона. Полученная матрица была визуализирована в виде тепловой карты посредством функции sns.heatmap (), что позволило наглядно оценить силу и направление связей между параметрами. Для облегчения интерпретации результатов сложные английские обозначения переменных были заменены на более понятные русские аналоги с использованием словаря rename_dict.
7. Распределение длительности фильмов
Чтобы понять, какова «норма» длительности фильма и где находятся выбросы.
Большинство фильмов длится 90–120 минут. Фильмы длиннее 140 минут — редкость, но среди них чаще встречаются высокооценённые картины.
Гистограмма. (Длительность фильмов) Этот график показывает, какие значения длительности встречаются чаще всего.
Для анализа распределения длительности фильмов использовалась функция sns.histplot (), позволяющая строить гистограммы с заданным количеством интервалов (bins). При необходимости добавлялась сглаженная линия плотности (kde=True), что помогало лучше понять форму распределения. Вертикальная линия медианы добавлялась через plt.axvline (), подчёркивая центральную тенденцию данных.
8. Количество фильмов по жанрам
Чтобы увидеть, какие жанры наиболее распространены в индустрии.
Боевики, драмы и комедии — самые массовые жанры. Редкие жанры (биография, фантастика, романтика) встречаются реже, но часто дают высокие рейтинги — «качество вместо количества».
Столбчатая диаграмма. (Жанры и Количество фильмов) Этот график показывает, какие жанры встречаются в датасете чаще других.
Для подсчёта количества фильмов в каждом жанре использовался метод value_counts (), после чего данные визуализировались с помощью sns.countplot (). Параметр order позволял отсортировать жанры по частоте появления, а горизонтальная ориентация (y=) обеспечивала лучшую читаемость длинных названий.
9. Средняя длительность по жанрам
Чтобы понять, какие жанры требуют больше экранного времени.
Биографии, приключения и криминальные фильмы — самые длинные. Ужасы и анимация — самые короткие. Это отражает жанровую специфику: сложные сюжеты требуют времени, а жанры с высокой динамикой — наоборот.
Столбчатая диаграмма. (Жанры и Средняя длительность) Этот график показывает, какие жанры обычно имеют более длинные или короткие фильмы.
Средняя длительность фильмов по жанрам рассчитывалась с помощью группировки groupby ('Основной жанр') и функции mean (). Затем данные сортировались методом sort_values (), что позволяло визуализировать жанры в порядке увеличения или уменьшения длительности. Для построения графика использовалась функция sns.barplot (), а подписи жанров были повернуты для удобства чтения.
Вывод
Анализ 1000 фильмов IMDB показывает, что высокие рейтинги формируются под влиянием нескольких устойчивых факторов. Чаще всего высокооценённые фильмы относятся к драмам и биографиям — жанрам, которые опираются на сильный сценарий и эмоциональную глубину. Такие фильмы, как правило, длиннее среднего: диапазон 110–140 минут позволяет авторам раскрыть сюжет и персонажей. Динамика по годам демонстрирует рост количества качественных фильмов, что отражает развитие индустрии и повышение стандартов производства. При этом рейтинг почти не связан со сборами: коммерческий успех не гарантирует художественной ценности. В совокупности визуализации показывают, что «идеальный» фильм — это не блокбастер, а продуманная, содержательная история, которая вызывает эмоциональный отклик и предлагает зрителю глубину, а не только зрелищность.
Источники
Датасет: https://www.kaggle.com/datasets/PromptCloudHQ/imdb-data
Нейросеть используемая для подбора цветов и генерирования картинок: https://copilot.microsoft.com
Помощь в написании кода: Google Gemini V3. https://gemini.google.com
Написание кода: Google Collab. https://colab.research.google.com