RU
EN
Исходный размер 1140x1600

Анализ базы данных с фильмами

Концепция

Я решил проанализировать базу данных с кино рекомендациями и сделать:

Распределение фильмы по жанрам

Топ 10 лучших фильмов исходя из базы

Топ 10 худших фильмов исходя из базы

https://github.com/jeknov/movieRec/blob/master/movies.csv

Для анализа я использовал

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

Точечный график для отображения соотношения количества фильмов и жанров.

Вертикальный столбчатый график для топ-10 лучших и худших фильмов.

Для того чтобы вывести топ 10 лучших и худших фильмов из базы я воспользовался ChatGPT

Я попросил его структурировать базу и вывести топ 10.

Код:

import pandas as pd import matplotlib.pyplot as plt

movies_url = «https://raw.githubusercontent.com/jeknov/movieRec/master/movies.csv» ratings_url = «https://raw.githubusercontent.com/jeknov/movieRec/master/ratings.csv»

movies = pd.read_csv (movies_url) ratings = pd.read_csv (ratings_url)

movie_ratings = pd.merge (movies, ratings, on='movieId')

average_ratings = movie_ratings.groupby ('title')['rating'].mean ()

top_10_movies = average_ratings.nlargest (10)

plt.figure (figsize=(12, 8)) top_10_movies.sort_values ().plot (kind='barh', color='skyblue') plt.title ('Топ-10 лучших фильмов') plt.xlabel ('Средний рейтинг') plt.ylabel ('Фильм') plt.show ()

Топ 10 Лучших

Код:

import pandas as pd import matplotlib.pyplot as plt

movies_url = «https://raw.githubusercontent.com/jeknov/movieRec/master/movies.csv» ratings_url = «https://raw.githubusercontent.com/jeknov/movieRec/master/ratings.csv»

movies = pd.read_csv (movies_url) ratings = pd.read_csv (ratings_url)

movie_ratings = pd.merge (movies, ratings, on='movieId')

average_ratings = movie_ratings.groupby ('title')['rating'].mean ()

bottom_10_movies = average_ratings.nsmallest (10)

plt.figure (figsize=(12, 8)) bottom_10_movies.sort_values ().plot (kind='barh', color='lightcoral') plt.title ('Топ-10 худших фильмов') plt.xlabel ('Средний рейтинг') plt.ylabel ('Фильм')

for index, value in enumerate (bottom_10_movies): plt.text (value, index, str (round (value, 2)))

plt.show ()

Топ 10 Худших

Для распределения фильмов по жанрам я обратился за помощью к ChatGPT и попросил его используя данные из базы распределить фильмы по жанрам и визуализировать результат в горизонтальном столбчатом графике.

Код: import pandas as pd import matplotlib.pyplot as plt

url = «https://raw.githubusercontent.com/jeknov/movieRec/master/movies.csv» data = pd.read_csv (url)

genre_counts = data['genres'].str.split ('|', expand=True).stack ().value_counts ()

plt.figure (figsize=(10, 6)) genre_counts.plot (kind='barh') plt.title ('Распределение фильмов по жанрам') plt.xlabel ('Количество фильмов') plt.ylabel ('Жанр') plt.show ()

Исходный размер 946x547

Так же я сделал точечный график с количеством фильмов определенного жанра.

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

Ссылка на диск с кодом и базой.

https://drive.google.com/drive/my-drive

Анализ базы данных с фильмами
Проект создан 25.09.2024
Игорь Гурович, Ковёр Enjoy The Process, 2025
От 50 000 ₽
Интерьерный постер с вашей датой
От 940 ₽
Модульный кофейный столик «The table totema»
60 000 ₽
WAM № 11 / 11,5 Журнал «World Art Музей»
2 000 ₽
Noor. Моцарт. 2025
От 987 ₽
Ника Хахаева, Открытка «С нг!», 2026
65 000 ₽
Акрил рефилл | 100 мл | 2 цвета
От 790 ₽
«ART» 2025 № 4
От 8 750 ₽
Праздничный ракетоносец
От 940 ₽
Подвесной светильник «YOLKINS»
8 000 ₽
Юрий Гордон, Ковёр «Тишина присутствия», 2025
100 000 ₽
Белый металлический тигр
От 940 ₽
Фруктница «The bowl fruity»
9 000 ₽
АRТ № 9. 25 лет журналу WAM
8 750 ₽
Думаю о тебе
От 940 ₽
Ольга Селезнева, «Перекресток на Вознесенском», 2026
110 000 ₽
Лисы
От 940 ₽
Игорь Гурович, Ковёр Art Is Hard, 2025
50 000 ₽
Алла Пугачёва
От 1 175 ₽
«ART» 2025 № 7
8 750 ₽
Игорь Гурович, Ковёр Enjoy The Process, 2025
От 50 000 ₽
Интерьерный постер с вашей датой
От 940 ₽
Модульный кофейный столик «The table totema»
60 000 ₽
WAM № 11 / 11,5 Журнал «World Art Музей»
2 000 ₽
Noor. Моцарт. 2025
От 987 ₽
Ника Хахаева, Открытка «С нг!», 2026
65 000 ₽
Акрил рефилл | 100 мл | 2 цвета
От 790 ₽
«ART» 2025 № 4
От 8 750 ₽
Праздничный ракетоносец
От 940 ₽
Подвесной светильник «YOLKINS»
8 000 ₽
Юрий Гордон, Ковёр «Тишина присутствия», 2025
100 000 ₽
Белый металлический тигр
От 940 ₽
Фруктница «The bowl fruity»
9 000 ₽
АRТ № 9. 25 лет журналу WAM
8 750 ₽
Думаю о тебе
От 940 ₽
Ольга Селезнева, «Перекресток на Вознесенском», 2026
110 000 ₽
Лисы
От 940 ₽
Игорь Гурович, Ковёр Art Is Hard, 2025
50 000 ₽
Алла Пугачёва
От 1 175 ₽
«ART» 2025 № 7
8 750 ₽
Игорь Гурович, Ковёр Enjoy The Process, 2025
От 50 000 ₽
Интерьерный постер с вашей датой
От 940 ₽
Модульный кофейный столик «The table totema»
60 000 ₽
WAM № 11 / 11,5 Журнал «World Art Музей»
2 000 ₽
Noor. Моцарт. 2025
От 987 ₽
Ника Хахаева, Открытка «С нг!», 2026
65 000 ₽
Акрил рефилл | 100 мл | 2 цвета
От 790 ₽
«ART» 2025 № 4
От 8 750 ₽
Праздничный ракетоносец
От 940 ₽
Подвесной светильник «YOLKINS»
8 000 ₽
Юрий Гордон, Ковёр «Тишина присутствия», 2025
100 000 ₽
Белый металлический тигр
От 940 ₽
Фруктница «The bowl fruity»
9 000 ₽
АRТ № 9. 25 лет журналу WAM
8 750 ₽
Думаю о тебе
От 940 ₽
Ольга Селезнева, «Перекресток на Вознесенском», 2026
110 000 ₽
Лисы
От 940 ₽
Игорь Гурович, Ковёр Art Is Hard, 2025
50 000 ₽
Алла Пугачёва
От 1 175 ₽
«ART» 2025 № 7
8 750 ₽
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше