
Данные
Я выбрала данные о фильмах с платформы IMDb. Этот датасет содержит информацию о рейтингах фильмов, жанрах, годах выпуска, режиссерах и других характеристиках.
Важность
Эти данные интересны, потому что они позволяют проанализировать, какие жанры фильмов наиболее популярны, как менялись предпочтения зрителей с течением времени и какие режиссеры или годы выпуска лидируют по рейтингам и оценкам.
Виды графиков
1 Столбчатая диаграмма — для сравнения количества фильмов по жанрам или рейтингов фильмов по режиссерам. 2 Линейный график — для анализа динамики среднего рейтинга фильмов по годам выпуска. 3 Круговая диаграмма — для отображения распределения фильмов по жанрам или другим категориям.
Этапы работы
Начальный код import pandas as pd import matplotlib.pyplot as plt import seaborn as sns
sns.set_style («whitegrid»)
df = pd.read_csv ('imdb_top_1000.csv')
Для генерации идей по визуализации и анализу данных я использовала ChatGPT. Вот примеры промитов:
1 Промит: «Какие типы графиков лучше всего подойдут для анализа рейтингов фильмов?»
Ответ: ChatGPT предложил использовать столбчатые диаграммы для сравнения средних рейтингов по жанрам, линейные графики для анализа динамики рейтингов по годам и круговые диаграммы для отображения распределения фильмов по жанрам.
2 Промит: «Какие данные можно собрать и проанализировать для создания проекта по анализу популярности фильмов?»
Ответ: ChatGPT предложил включить в проект следующие данные: Название фильма — основная информация о фильме. Год выпуска — для анализа трендов по годам. Жанр — чтобы определить популярные жанры. Режиссер и актеры — для оценки влияния известных личностей на успех фильма. Рейтинг фильма — средняя оценка на платформах (например, IMDb, Кинопоиск). Кассовые сборы — данные о доходах фильма. Бюджет фильма — для анализа окупаемости. Отзывы
Основной код
#установка размера и выбор данных plt.figure (figsize=(10, 6)) top_directors = df['Director'].value_counts ().head (10) #стилизация графика sns.barplot (x=top_directors.index, y=top_directors.values, palette="Blues_d») plt.title ('Топ-10 режиссеров по количеству фильмов в топ-1000', fontsize=14) plt.xlabel ('Режиссеры', fontsize=12) plt.ylabel ('Количество фильмов', fontsize=12) plt.xticks (rotation=45) plt.tight_layout () plt.show ()
#установка размера и выбор данных plt.figure (figsize=(14, 6)) yearly_ratings = df.groupby ('Released_Year')['IMDB_Rating'].mean () #стилизация графика sns.lineplot (x=yearly_ratings.index, y=yearly_ratings.values, color='green', marker='o') # Зеленый цвет plt.title ('Средний рейтинг IMDb по годам выпуска', fontsize=14) plt.xlabel ('Год выпуска', fontsize=12) plt.ylabel ('Средний рейтинг IMDb', fontsize=12) plt.xticks (ticks=yearly_ratings.index[: 10], rotation=90) plt.grid (True) plt.tight_layout () plt.show ()
#установка размера и выбор данных plt.figure (figsize=(10, 6)) top_movies = df.nlargest (10, 'IMDB_Rating')[['Series_Title', 'IMDB_Rating']] #стилизация графика sns.barplot (x='IMDB_Rating', y='Series_Title', data=top_movies, palette="Reds_d») # Красная палитра plt.title ('Топ-10 фильмов с самым высоким рейтингом IMDb', fontsize=14) plt.xlabel ('Рейтинг IMDb', fontsize=12) plt.ylabel ('Название фильма', fontsize=12) plt.tight_layout () plt.show ()
#установка размера и выбор данных plt.figure (figsize=(8, 8)) genres = df['Genre'].str.split (', ', expand=True).stack () genre_counts = genres.value_counts ().head (10) #стилизация графика plt.pie (genre_counts, labels=genre_counts.index, autopct='%1.1f%%', startangle=140, colors=sns.color_palette («Purples_d»)) # Фиолетовая палитра plt.title ('Распределение фильмов по жанрам (топ-10)', fontsize=14) plt.show ()
Проект на Google colab