Введение:
Какие данные были использованы и где были найдены.
В своём проекте я представляю анализ данных об сериалах в жанре аниме с использованием Python. Для работы я выбрала открытый датасет с платформы Kaggle, который содержит информацию о сериалах: пользовательские рейтинги с годами, жанры и года выпуска.
Почему был выбрано именно это, какую ценность оно для вас предоставляет?
Аниме привлекает меняя своим разнообразием жанров, глубокими сюжетами и уникальными персонажами. Оно предлагает яркую эстетику и отражает японскую культуру, что интересно для изучения. Кроме того, аниме создает сообщество единомышленников.
Какой вид графиков был выбран и почему?
Линейный график - средний рейтинг по годам. Гистограмма - распределение рейтингов. Столбчатая диаграмма - топ студий по количеству.
Подготовка данных
Начало работы:
import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('anime.csv') df.head()
df.info()
df = df.dropna(subset=['Rating']) df['Rating'] = pd.to_numeric(df['Rating'], errors='coerce') df.describe()
Здесь мы импортируем две библиотеки: pandas и matplotlib.pyplot. Далее мы загружаем данные из CSV файла с именем anime.csv в объект DataFrame df. Это позволяет нам работать с данными в табличном формате. Метод head() выводит первые 5 строк DataFrame, что позволяет быстро оценить, как выглядят данные. Метод info() выводит информацию о DataFrame, включая количество строк, количество ненулевых значений в каждом столбце, типы данных и использование памяти. Затем мы удаляем все строки из DataFrame, в которых отсутствуют значения в столбце Rating. Это важно для дальнейшего анализа, чтобы избежать ошибок из-за отсутствующих данных. Мы пытаемся преобразовать значения в столбце Rating в числовой формат. Параметр errors='coerce' означает, что если преобразование не удается, то вместо этого будет присвоено значение NaN. Метод describe() предоставляет статистическую сводку по числовым столбцам DataFrame, включая такие показатели, как среднее значение, стандартное отклонение, минимальное и максимальное значения, а также квартильные значения.
Визуализация графиков
Фильтрация данных:
df = df.dropna(subset=['Rating']) df['Rating'] = pd.to_numeric(df['Rating'], errors='coerce') df.describe()
Стилизация:
plt.rcParams['figure.figsize'] = (9, 5) plt.rcParams['axes.facecolor'] = '#F2F2F2' plt.rcParams['figure.facecolor'] = '#F2F2F2' plt.rcParams['font.family'] = 'Sans' plt.rcParams['axes.titleweight'] = 'bold' plt.rcParams['axes.edgecolor'] = "#401244"
Распределение рейтингов:
plt.figure() df['Rating'].hist( bins=20, color = '#E560CE', edgecolor='#401244' ) plt.title('Распределение рейтингов аниме') plt.xlabel('Рейтинг') plt.ylabel('Количество аниме') plt.show()
Топ-10 студий по количеству:
top_studios = df['Studio'].value_counts().head(10)
colors = ['
E560CE', '
9b59b6'] * 5 # 10 столбцовplt.figure() top_studios.plot(kind='bar', color=colors) plt.title('Топ-10 студий по количеству аниме') plt.xlabel('Студия') plt.ylabel('Количество аниме') plt.xticks(rotation=45, ha='right') plt.show()




