Com base nos dados da Ancine (https://oca.ancine.gov.br/)
# Importando a biblioteca pandas
import pandas as pd
# Informando para o pandas mostrar o gráfico no jupyter notebook
%matplotlib inline
# Lendo o arquivo e atribuindo a uma variável - convertendo o arquivo em um DataFrame
# Pulando as 2 primeiras linhas (skiprows)
# Descartando as últimas 16 linhas (skipfooter)
df = pd.read_excel('ListagemFilmesBrasileirosEstrangeirosExibidos2009-2017.xlsx', skiprows=2, skipfooter=16)
# Exibindo as 5 primeiras linhas do DataFrame
df.head()
# Exibindo as 5 últimas linhas do DataFrame
df.tail(5)
# Verificar todos os tipos das colunas
df.dtypes
# Convertendo o campo 'Data de lançamento' em data
df['Data de lançamento'] = pd.to_datetime(df['Data de lançamento'])
# Tentando identificar o problema da coluna 'Data de lançamento'
df['Data de lançamento'].value_counts()
# Exibir 5 primeiros filmes que campo 'Data de lançamento' igual à Relançamento
df[df['Data de lançamento'] == 'Relançamento'].head()
# Tamanho do DataFrame
df.shape
# Criando um novo DataFrame sem o campo 'Data de lançamento' igual à Relançamento
df_novo = df[df['Data de lançamento'] != 'Relançamento']
df_novo[df_novo['Data de lançamento'] == 'Relançamento']
# Tamanho do novo DataFrame
df_novo.shape
# Convertendo a coluna 'Data de lançamento' para datetime
df_novo['Data de lançamento'] = pd.to_datetime(df_novo['Data de lançamento'])
# Verificando os tipos das colunas
df_novo.dtypes
# Quais os anos tiveram mais filmes lançados
num_filmes_ano = df_novo['Data de lançamento'].dt.year.value_counts()
# Plotando no gráfico
num_filmes_ano.plot.bar()
# Qual o filme com maior bilheteria
df_novo[df_novo['Renda (R$) no ano de exibição'] == df_novo['Renda (R$) no ano de exibição'].max()]
# Quais 3 filmes com melhor renda
df_novo.nlargest(3, 'Renda (R$) no ano de exibição')
# Filmes com menor bilheteria
df_novo[df_novo['Renda (R$) no ano de exibição'] == df_novo['Renda (R$) no ano de exibição'].min()]
# Quantos filmes brasileiros e extrangeiros
df['Nacionalidade da obra'].value_counts()
# Número de filmes por país
df['País(es) produtor(es) da obra'].value_counts()
# 10 primeiros países por número de filmes
filmes_pais = df['País(es) produtor(es) da obra'].value_counts().head(10)
# Plotando no gráfico
filmes_pais.plot.pie()
# filmes por gênero
df['Gênero'].value_counts()