Что стоит посмотреть на Disney+? Какой месяц идеально подходит для добавления подписки Disney+? Рейтинги фильмов и шоу Disney и многое другое.
Здравствуйте, дата-сайентисты!
Если вы следите за мной с самого начала, мы сделали несколько проектов по визуализации данных на разные темы. Marvel vs DC, анализ данных Spotify, анализ Zomato, анализ данных Cars и многие другие темы. Если вы пропустили, вот полный список проектов по науке о данных. Теперь в статье мы собираемся провести визуализацию и анализ данных Disney. Все мы знаем, что Disney+ — это большая стриминговая платформа, на которой можно смотреть разные шоу и фильмы. Итак, не теряя времени, приступим к проекту.
Дисней+
Ссылка для загрузки набора данных находится в конце этой статьи.
Вы можете написать код Python в Jupyter Notebook, Google Colab или любом другом предпочитаемом редакторе. Я порекомендую вам Google Colab, потому что я использую его чаще.
Внимание всем разработчикам, стремящимся установить социальные связи и зарекомендовать себя, получая при этом пассивный доход — не ищите дальше! Я настоятельно рекомендую книгу From Code to Connections, которая поможет вам в этом процессе. Не упустите возможность получить свою копию прямо сейчас на Amazon по всему миру или Amazon India! Вы также можете выбрать Gumroad.
Код и анализ
- Импортировать библиотеки
#for mathematical computation import numpy as np import pandas as pd import scipy.stats as stats #for data visualization import seaborn as sns import matplotlib.pyplot as plt import plotly import plotly.express as px from matplotlib.pyplot import figure import plotly.graph_objects as go import plotly.figure_factory as ff % matplotlib inline
- Давайте загрузим данные и взглянем на них.
df = pd.read_csv("/content/disney_plus_titles.csv", encoding='latin-1') df.head()
У нас есть тип, название, имя режиссера, актерский состав, страна, год выпуска, рейтинг и многое другое.
- Соберите дополнительную информацию о данных.
df.info()
У нас есть в основном объектные и целочисленные типы данных. Некоторые данные некоторых столбцов недоступны. Переходим к следующей части.
- Добавление функции
Прежде чем мы выполним некоторые дальнейшие операции, мы должны добавить некоторые функции к нашим данным. Это не обязательно, но они понадобятся нам в нашем анализе.
disney_movies = df[df.type == 'Movie'] disney_shows = df[df.type == 'TV Show'] df["date_added"] = pd.to_datetime(df['date_added']) df['year_added'] = df['date_added'].dt.year df['month_added'] = df['date_added'].dt.month df['season_count'] = df.apply(lambda x : x['duration'].split(" ")[0] if "Season" in x['duration'] else "", axis = 1) df['duration'] = df.apply(lambda x : x['duration'].split(" ")[0] if "Season" not in x['duration'] else "", axis = 1)
Запустите эту ячейку. В следующей ячейке распечатайте первые 5 значений наших данных, используя код df.head(). Вы заметили, что теперь у нас есть три разных столбца.
- Фильмы или телешоу на Disney+
fig = plt.figure(figsize = (10,10)) ax = fig.subplots() df.type.value_counts().plot(ax=ax, kind='pie') ax.set_ylabel("") ax.set_title("Movies & Shows") plt.show()
Вы можете видеть, что Дисней больше фокусируется на фильмах, чем на телешоу. Может быть, потому что у Диснея есть аудитория, которая предпочитает фильмы телешоу.
- Исходный год выпуска фильмов и сериалов на Disney+
col = "release_year" dm = disney_movies[col].value_counts().reset_index() dm = dm.rename(columns = {col : "count", "index": col}) dm['percent'] = dm['count'].apply(lambda x : 100*x/sum(dm['count'])) dm = dm.sort_values(col) fig1 = go.Bar(x = dm[col], y=dm['count'], name='Movies', marker=dict(color='red')) data = [fig1] layout = go.Layout(title='Movies content added on disney', legend=dict(x=0.1, y=1.1, orientation='h')) fig = go.Figure(data, layout=layout) fig.show()
col = "release_year" ds = disney_shows[col].value_counts().reset_index() ds = ds.rename(columns = {col : "count", "index": col}) ds['percent'] = ds['count'].apply(lambda x : 100*x/sum(ds['count'])) ds = ds.sort_values(col) fig2 = go.Bar(x = ds[col], y=ds['count'], name='TV Shows', marker=dict(color='red')) data = [fig2] layout = go.Layout(title='TV Shows content added on disney', legend=dict(x=0.1, y=1.1, orientation='h')) fig = go.Figure(data, layout=layout) fig.show()
Здесь у вас есть оригинальный год выпуска фильмов и шоу, доступных на Disney+. Вы можете видеть, что количество контента растет с годами. Больше людей получают возможности работать, и больше людей инвестируют в них. Итак, если вы хотите стать актером или кем-то еще, начните сегодня. Потому что вы можете видеть, что количество контента на платформе OTT с годами растет, и оно будет резко расти из-за роста аудитории.
- Контент, добавленный на Disney+ за год
col = "year_added" vc1 = disney_shows[col].value_counts().reset_index() vc1 = vc1.rename(columns = {col : "count", "index" : col}) vc1['percent'] = vc1['count'].apply(lambda x : 100*x/sum(vc1['count'])) vc1 = vc1.sort_values(col) vc2 = disney_movies[col].value_counts().reset_index() vc2 = vc2.rename(columns = {col : "count", "index" : col}) vc2['percent'] = vc2['count'].apply(lambda x : 100*x/sum(vc2['count'])) vc2 = vc2.sort_values(col) trace1 = go.Bar(x=vc1[col], y=vc1["count"], name="TV Shows", marker=dict(color="#a678de")) trace2 = go.Bar(x=vc2[col], y=vc2["count"], name="Movies", marker=dict(color="#6ad49b")) data = [trace1, trace2] layout = go.Layout(title="Content added over the years on Disney+", legend=dict(x=0.1, y=1.1, orientation="h")) fig = go.Figure(data, layout=layout) fig.show()
В 2019 году Disney+ добавил на свою платформу более 600 фильмов. Но после этого график добавления фильмов отклоняется, возможно, из-за проблемы с covid-19. Я не вижу большей разницы в добавлении телешоу на их платформу с годами. Может быть, потому, что Дисней больше фокусируется на фильмах, чем на телешоу.
- Рейтинги контента Disney+
fig3 = plt.figure(figsize = (10,10)) ax = fig3.subplots() df.rating.value_counts().plot(ax=ax, kind='pie') ax.set_ylabel("") ax.set_title("Disney Rating") plt.show()
Почти 60% контента Disney+ имеют рейтинг TV-G, G и TV-PG.
- Распределение продолжительности фильмов
disney_movies = df[df.type == 'Movie'] disney_shows = df[df.type == 'TV Show'] import plotly.figure_factory as ff x1 = disney_movies['duration'].fillna(0.0).astype(float) fig = ff.create_distplot([x1], ['a'], bin_size=0.7, curve_type='normal', colors=["red"]) fig.update_layout(title_text='Distplot with Normal Distribution') fig.show()
Продолжительность большинства фильмов на Disney+ составляет от 75 до 140 минут.
Сейчас из-за большого количества строк кода я не могу его сюда написать. Но вы не можете проверить мой код Google Colab. В коде Google Colab вы узнаете о распределении контента по географии, старых фильмах и шоу на Disney+. Я хочу отдать должное Шиваму Бансалу за помощь.
Ну, это все для этой статьи.
Если эта статья кажется вам информативной, обязательно подпишитесь на нее и поделитесь ею со своим сообществом гиков.
Вы можете скачать набор данных по этой ссылке
Другие проекты по науке о данных
Анализ данных Marvel и DC в Python
Основные нарушения кибербезопасности (2004–2021 годы): анализ и визуализация данных
Визуализация и анализ данных средних статей с использованием Python
Визуализация и анализ данных Spotify с использованием Python
Анализ данных IPL (2008–2020 гг.) с использованием Python
Анализ данных Zomato с помощью Jupyter Notebook
Анализ данных и визуализация выбросов CO2 в разных странах
Здравствуйте, меня зовут Рохит Кумар Такур. Я открыт для фриланса. Я создаю нативные проекты для реагирования и в настоящее время работаю над Python Django. Не стесняйтесь обращаться ко мне по адресу (freelance.rohit7@gmail.com)
Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку здесь.