<jupyter_start><jupyter_text>Notebook para análise de internações do Brasil do Datasus  1.0 Introdução  2.0 Importação das Bibliotecas<jupyter_code>import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib import ticker<jupyter_output><empty_output><jupyter_text>3.0 Carregamento e análise dos dados Analisando a base de dados, vimos que as primeiras 3 linhas de cabeçário representavam uma introdução e as 12 últimas eram uma descrição das fontes e referências, não seguindo o padrão de dados do arquivo csv e impossibilitando a importação. Para resolver este problema utilizamos as funções:- skiprows, para remover a introdução dos dados;- skipfooter, para remover as fontes e referências;- sep, para identificar o separador de dados como ";";- encoding, para padronizar a leitura dos dados do arquivo csv.<jupyter_code>internacoes = pd.read_csv("https://raw.githubusercontent.com/chermont04/Federal-District-Public-heath-Analysis/main/dados/internacoes_Brasil.csv",
                          encoding = 'ISO-8859-1',
                          skiprows=3,
                          skipfooter=12,
                          sep = ';')
internacoes.head()<jupyter_output>/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:5: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support skipfooter; you can avoid this warning by specifying engine='python'.
  """<jupyter_text>Verificando os tipos de dados de cada coluna<jupyter_code>internacoes.info()
internacoes.describe()<jupyter_output><empty_output><jupyter_text>Percebemos que na base de dados temos os indicies (de 0 a 31) e a coluna de estados que são do tipo object. Podemos setar a coluna de estados como indice, e remover essa coluna que a função de read_csv seta como indice, ja que ela não será relevante para nenhuma análise.<jupyter_code>internacoes = internacoes.set_index('Região/Unidade da Federação')
internacoes.head()<jupyter_output><empty_output><jupyter_text>Podemos observar se há dados nulos para serem tratados<jupyter_code>internacoes.isnull().sum()<jupyter_output><empty_output><jupyter_text>Verificamos que não há valores nulos para serem tratados nesta base de dados.  4.0 Limpeza, tratamento e análise exploratória dos dados dos dados Percebemos que nosso dataset já nos trás o dado compilado por região, para não atrapalhar na visualização por estado, podemos agrupar este dado em uma base separada para análise por região e então remover da base de estados.<jupyter_code>#Transpor o DataFrame para poder selecionar as regiões como colunas
internacoes_regiao = internacoes.T
#criar um novo dataFrame com as colunas selecionadas
internacoes_regiao = internacoes_regiao[['Região Norte', 'Região Nordeste', 'Região Sudeste', 'Região Sul', 'Região Centro-Oeste']]
#Remover a coluna de total do dataFrame criado para não sujar a análise
internacoes_regiao = internacoes_regiao.drop('Total')

internacoes_regiao.tail()<jupyter_output><empty_output><jupyter_text>Por conta das transformações, o dataFrame mudou de formato, para realizar a análise gráfica, precisamos transforma-lo em tipo numérico antes.<jupyter_code>internacoes_regiao[['Região Norte', 'Região Nordeste', 
                    'Região Sudeste', 'Região Sul', 'Região Centro-Oeste']] = internacoes_regiao[['Região Norte', 'Região Nordeste', 'Região Sudeste', 
                                                                                                  'Região Sul', 'Região Centro-Oeste']].apply(pd.to_numeric)<jupyter_output><empty_output><jupyter_text>5.0 Análises gráficas Podemos começar a análise gráfica entendendo como está sendo as internações por região<jupyter_code>plt.style.use('seaborn')
ax = internacoes_regiao.plot(figsize = (18,8))
ax.yaxis.set_major_formatter(ticker.StrMethodFormatter('{x:,.2f}'))
plt.title('Internações por Região\n Janeiro de 2008 a Outubro de 2021', size = 16, weight='bold')
plt.xlabel('Período', size = 14)
plt.ylabel('Quantidade de internações', size = 14)
plt.legend(bbox_to_anchor=(1.01,1), fontsize = 14, )
plt.yticks(fontsize = 12)
plt.xticks(fontsize = 12)
plt.grid(color = 'gray', linewidth = 0.3)<jupyter_output><empty_output><jupyter_text>Conclusões- Há uma certa sazonalidade nas internações;- Houve um aumento em todas as regiões em 2020;- As internações são diretamente proporcionais a população das regiões; Vamos agora entender a posição do Distrito Federal em relação a quantidade de internações no Brasil.<jupyter_code>internacoes = internacoes.drop(index = ['Região Norte', 'Região Nordeste', 'Região Sudeste', 'Região Sul', 'Região Centro-Oeste'])

#internacoes = internacoes.drop('Total', axis = 1)<jupyter_output><empty_output><jupyter_text>Vamos começar gerando um gráfico dos dados de internações de cada estado ao longo do tempo para entendermos o comportamento ao longo do tempo e os estados com maiores internações.<jupyter_code><jupyter_output><empty_output><jupyter_text>6.0 Análises  7.0 Conclusões  8.0 Considerações Finais  9.0 Referencias<jupyter_code><jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.08203510155787813, 'fraction_numerical': 0.014198382961940446, 'mean_word_length': 4.953051643192488, 'pattern_counts': {'":': 0, '<': 44, '<?xml version=': 0, '>': 44, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '11', 'dir': 'jupyter-structured-clean-dedup', 'id': '286835', 'license': 'MIT', 'n_tokens_mistral': 1748, 'n_tokens_neox': 1698, 'n_words': 503, 'path': 'notebooks/Analise_de_internacoes_Brasil.ipynb', 'repo_name': 'chermont04/Federal-District-Public-heath-Analysis', 'size': '5071'}