Что стоит посмотреть на 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. Подпишитесь на нашу бесплатную еженедельную рассылку здесь.