<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 (Micro)Relatório do catálogo da Netflix
Este (micro)relatório apresenta algumas informações extraídas de um dataset com o catálogo da Netflix, disponível no Kaggle.
As bibliotecas utilizadas são as seguintes
Step1:  Passo 1
Step2:  Nosso dataset contém 6234 elementos, com 12 atributos cada, além de possuir missing data.
Dentre os atributos existentes pra cada elemento do catálogo, vamos focar apenas nos seguintes (uma vez que esse é apenas um exemplo)
Step3:  Adições ao passar do tempo
Outra informação interessante de se obter é analisar a "idade" dos conteúdos (ou seja, o quão antigos eles são) e quanta sadições são feitas por dia. Para isso, precisamos de dois gráficos
Step4:  Diretores mais prestigiados
Por último, podemos identificar quais os diretores que possuem mais obras no catálogo. Para isso, realizamos a contagem dos diretores. Por padrão, o value_counts() já ordena a série em ordem decrescente de valor. Como são muitas obras e muitos diretores, vamos nos atentar apenas aos top 10 diretores mais prestigiados
<ASSISTANT_TASK:>
Python Code:
%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
Explanation: (Micro)Relatório do catálogo da Netflix
Este (micro)relatório apresenta algumas informações extraídas de um dataset com o catálogo da Netflix, disponível no Kaggle.
As bibliotecas utilizadas são as seguintes:
End of explanation
df = pd.read_csv("netflix_titles.csv")
df
Explanation: Passo 1: carregar o dataset
End of explanation
df.type.value_counts().plot(kind="bar")
Explanation: Nosso dataset contém 6234 elementos, com 12 atributos cada, além de possuir missing data.
Dentre os atributos existentes pra cada elemento do catálogo, vamos focar apenas nos seguintes (uma vez que esse é apenas um exemplo):
type - o tipo da obra (série ou filme)
release_year - ano de lançamento da obra
date_added- data de lançamento da obra
director - diretor da obra
Análises
Agora que o dado está carregado e identificamos (algum)as informações importantes, podemos começar as análises
Contagem de tipos de obras
Uma coisa que podemos nos perguntar, nesse dataset, é se na Netflix existem mais filmes ou séries. Para descobrir isso, basta selecionarmos a série type, realizar uma contagem dos valores e desenhar um gráfico de barras
End of explanation
# para apresentar os dois gráficos juntos, precisamos primeiro criar uma figura
fig = plt.figure(1, figsize=(20,10))
# podemos também dar um título a essa figura
fig.suptitle("Informações temporais dos conteúdos", fontsize=20)
# para apresentar diversos gráficos em uma mesma figura, precisamos criar "sub-gráficos", que serão dispostos
# como uma tabela.
# para criar um sub-gráfico, utilizamos a função plt.subplot(linhas, colunas, opsição)
plt.subplot(2,1,1)
# temos de ordenar a série temporal gerada a partir dos anos (que, nesse caso, são os índices)
year_count = df.release_year.value_counts().sort_index()
years_before_2020 = year_count.index < 2020
ax = year_count[years_before_2020].plot()
ax.set_title("Ano em que foi produzido", fontsize=15)
plt.subplot(2,1,2)
#para processar a data, precisamos da biblioteca datetime
from datetime import datetime
# primeiramente, vamos remover todos os dados que não possuem data definida
#depois vamos fazer o parser das datas
dates = df.date_added\
.dropna()\
.apply(lambda d: datetime.strptime(d.strip(), '%B %d, %Y')) 
ax = dates.value_counts().sort_index().plot(ax=plt.gca())
ax.set_title("Data em que foi adicionado", fontsize=15)
Explanation: Adições ao passar do tempo
Outra informação interessante de se obter é analisar a "idade" dos conteúdos (ou seja, o quão antigos eles são) e quanta sadições são feitas por dia. Para isso, precisamos de dois gráficos:
o primeiro faz uma contagem do ano de produção das obras. Como este (micro)relatório foi escrito em meados de 2020, é injusto comparar os dados desse ano com os restantes. Logo, iremos filtrar os dados para apenas os de 2019 ou antes. Em seguida, fazemos a contagem dos elementos
o segundo é análogo ao anterior, porém não precisamos fazer o corte do ano de 2020, visto que a ideia é analisar as adições por dia. Logo, basta fazer a contagem pelas datas. Porém,temos dois problemas:
uma mesma data pode estar escrita de maneira diferente ('September 9, 2019' e ' Semptember 9, 2019'), logo realizar uma simples contagem não será o suficiente;
as "datas" são strings. Precisamos transformá-las para datas.
End of explanation
df.director.value_counts().head(10).plot(kind="bar")
Explanation: Diretores mais prestigiados
Por último, podemos identificar quais os diretores que possuem mais obras no catálogo. Para isso, realizamos a contagem dos diretores. Por padrão, o value_counts() já ordena a série em ordem decrescente de valor. Como são muitas obras e muitos diretores, vamos nos atentar apenas aos top 10 diretores mais prestigiados
End of explanation
<END_TASK>