Original size 885x1239

Анализ трендов в киноиндустрии: рейтинги, бюджеты и сборы

PROTECT STATUS: not protected

Описание проекта

Киноиндустрия — одна из самых прибыльных сфер развлечений, и каждый год выпускаются сотни новых фильмов. Однако не все из них становятся успешными: некоторые получают высокие рейтинги и собирают миллионы в прокате, а другие проваливаются, несмотря на огромные бюджеты. Исследование разбирает, какие закономерности можно выявить и есть ли способ предсказать успех фильма.

big
Original size 3307x1000

Для анализа я выбрала данные о популярных фильмах, включающие:

Название фильма; Год выпуска; Жанр; Бюджет; Кассовые сборы; IMDb рейтинг — оценка зрителей; Rotten Tomatoes (%) — оценка кинокритиков

Эти данные были собраны из открытых источников, таких как:

IMDb (Internet Movie Database) — крупнейшая база данных фильмов, сериалов и актеров

Box Office Mojo — ресурс, отслеживающий сборы фильмов в мировом прокате

Kaggle — платформа с наборами данных для анализа

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

Для наглядного представления данных будут использованы:

  1. Линейные графики — для отображения изменений средних рейтингов, бюджетов и сборов по годам.
  2. Столбчатые диаграммы — для сравнения бюджетов и сборов разных фильмов, а также для анализа популярных жанров.
  3. Гистограммы — для распределения фильмов по рейтингам и сборам.
  4. Диаграмма рассеяния — чтобы выявить взаимосвязь между бюджетами и рейтингами/сборами.

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

Original size 3307x1000

Обработка данных

В коде были использованы такие библиотеки: pandas для работы с датасетом (csv-файл), matplotlib.pyplot для рисования графиков, numpy для выполнения числовых вычислений и scipy.interpolate для сглаживания и интерполяции данных.

В начале я импортировала библиотеки, которые мне будут нужны: numpy, matplotlib.pyplot и pandas. После этого действия считала скачанный csv-файл датасета.

Original size 2667x1200

Далее для гисторграммы сделала разделение данных по бюджетам

low_budget = df[df['Бюджет ($ млн)'] < 50]['Бюджет ($ млн)'] high_budget = df[df['Бюджет ($ млн)'] ≥ 50]['Бюджет ($ млн)']

Original size 2667x631

Далее я сделала стилизацию цветов под атмосферу киноиндустрии

Стилизация в пастельных красном, желтом и серебристом тонах film_colors = ['#E57373', '#FDD835', '#B0BEC5', '#FFF9C4', '#FFCDD2'] # Красный, желтый, серебристый пастельные тона font1 = {'fontsize': 14, 'fontweight': 'bold', 'color': '#D32F2F'} font2 = {'fontsize': 10, 'fontstyle': 'italic', 'color': '#424242'}

Original size 3307x1000

Визуализация данных

Original size 1303x1237

Круговая диаграмма которая распределяет фильмы по жанрам

Построение круговой диаграммы

fig, ax = plt.subplots () fig.patch.set_facecolor ('white') plt.pie (value, labels=name, labeldistance=0.6, colors=film_colors, startangle=45, textprops=font2, wedgeprops={'linewidth': 2.0, 'edgecolor': '#424242'}, autopct='%1.1f%%') plt.title («Распределение фильмов по жанрам», fontdict=font1) fig.savefig ('pie_chart.jpg', facecolor='white') plt.show ()

Original size 855x472

Гистограмма для понимания распределения бюджетов фильмов

Делаю разделение данных по бюджетам low_budget = df[df['Бюджет ($ млн)'] < 50]['Бюджет ($ млн)'] high_budget = df[df['Бюджет ($ млн)'] ≥ 50]['Бюджет ($ млн)']

Гистограмма распределения бюджетов

plt.figure (figsize=(10, 5)) plt.gcf ().set_facecolor ('white') sns.histplot (low_budget, bins=20, color='#E57373', label='Бюджет < 50 млн $', kde=True) sns.histplot (high_budget, bins=20, color='#B0BEC5', label='Бюджет ≥ 50 млн $', kde=True) plt.title («Распределение бюджетов фильмов», fontdict=font1) plt.xlabel («Бюджет ($ млн)», color='#D32F2F') plt.ylabel («Количество фильмов», color='#D32F2F') plt.legend () plt.grid (color='#757575', linestyle='--', linewidth=0.5) plt.show ()

Original size 1175x569

Далее делаю группировку по году и жанру, подсчет количества фильмов movies_per_year = df.groupby (['Год', 'Жанр']).size ().reset_index (name='Количество')

Гистограмма количества фильмов по годам

plt.figure (figsize=(12, 6)) plt.gcf ().set_facecolor ('white') sns.barplot (data=movies_per_year, x='Год', y='Количество', hue='Жанр', palette=film_colors) plt.title («Количество фильмов по годам и жанрам», fontdict=font1) plt.xlabel («Год», color='#D32F2F') plt.ylabel («Количество фильмов», color='#D32F2F') plt.xticks (rotation=45, color='#424242') plt.yticks (color='#424242') plt.legend (title="Жанр», bbox_to_anchor=(1.05, 1), loc='upper left', labelcolor='#D32F2F') plt.grid (color='#757575', linestyle='--', linewidth=0.5) plt.show ()

Original size 1026x549

Построение рассеянной диаграммы

plt.figure (figsize=(10, 6)) plt.gcf ().set_facecolor ('white') sns.scatterplot (data=df, x='Бюджет ($ млн)', y='Сборы ($ млн)', hue='Жанр', palette=film_colors, s=100)

Настройка заголовка и меток осей plt.title («Зависимость сборов от бюджета фильмов», fontdict=font1) plt.xlabel («Бюджет ($ млн)», color='#D32F2F') plt.ylabel («Сборы ($ млн)», color='#D32F2F') plt.legend (title="Жанр», bbox_to_anchor=(1.05, 1), loc='upper left', labelcolor='#D32F2F')

Настройка сетки plt.grid (color='#757575', linestyle='--', linewidth=0.5) plt.show ()

Итог анализа

На основе полученных данных можно сделать следующий вывод: Наиболее представленным жанром в данных является Action (боевики), за которым следуют Sci-Fi (научная фантастика) и Animation (анимация). Жанры Drama (драма) и Animation также имеют значительное количество фильмов, что говорит о популярности этих категорий среди зрителей.

Большинство фильмов имеют бюджет выше 50 млн долларов. Фильмы с бюджетом менее 50 млн долларов встречаются реже, что может свидетельствовать о том, что такие проекты либо менее популярны, либо их меньше в выборке.

Фильмы с высоким бюджетом, как правило, имеют более высокие сборы, но успех также зависит от жанра и качества фильма. Жанры Action и Sci-Fi доминируют в списке самых кассовых фильмов, что делает их наиболее прибыльными категориями.

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

Для своей работы я использовала Chat-GPT 4.0. С помощью него я смогла подготовить датасет для использования в диаграммах, а также кастомизировать цветовую палитру. https://openai.com/index/chatgpt/

Анализ трендов в киноиндустрии: рейтинги, бюджеты и сборы
Project created at 22.03.2025
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more