<jupyter_start><jupyter_text>Tratamento, Análise de Dados e Dashboard da Felicidade Mundial   Definição do Problema: O que te faz feliz?O Relatório de Felicidade Mundial é um conjunto de dados publicado pela Rede de Soluções de Desenvolvimento Sustentável das Nações Unidas, se trata de uma pesquisa histórica sobre o estado de felicidade global, que classifica 156 países por seus níveis de felicidade. As pesquisas têm como objetivo analisar dados de centenas de milhares de indivíduos e investigar as maneiras como os elementos da vida das pessoas impulsionam seu bem-estar. Cada país recebe uma pontuação de felicidade que é a soma das pontuações dos 7 critérios analisados. Esta análise tem como objetivo responder as seguintes questões:- Pergunta 1 - Quais são os 10 países mais felizes?- Pergunta 2 - Quais são os 10 países menos felizes?- Pergunta 3 - Qual é a média do Índice de Felicidade?- Pergunta 4 - Qual é o Índice de Felicidade por critério?- Pergunta 5 - Qual a correlação entre a felicidade e os critérios?O trabalho consiste em limpar e preparar os dados e então construir um dashboard no Power BI para apresentar os resultados e incorporá-lo a está análise.Fonte da base de dados: Kaggle  Carregando e Instalando Pacotes<jupyter_code># Versão da Linguagem Python Utilizada:
from platform import python_version
print('Versão da Linguagem Python Usada Neste Jupyter Notebook:', python_version())
# Importando os pacotes necessários:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline<jupyter_output><empty_output><jupyter_text>Carregando os Dados<jupyter_code>WHR = pd.read_csv("2019.csv")
# Primeiras 10 Linhas:
WHR.head(10)<jupyter_output><empty_output><jupyter_text>Dicionário das Variáveis:- **Overall rank**: Identifica a posição do país no ranking- **Country**: País analisado- **Score**: Índice de Felicidade- **GDP per capita**: PIB per capita- **Social support**: Suporte social(medido por ter alguém com quem contar em momentos de dificuldade).- **Healthy life expectancy**: Expectativa de vida saudável- **Freedom to make life choices**: Liberdade para fazer escolhas- **Generosity**: Generosidade(medida por doações recentes)- **Perceptions of corruption**: Percepções de corrupção- **Dystopia**: Distopia (país de referência correspondente aos valores mais baixos possíveis em cada um dos critérios)<jupyter_code># Reordenando as colunas
WHR = WHR[['Country', 'Overall rank', 'Score','GDP per capita', 'Social support', 'Healthy life expectancy', 
           'Freedom to make life choices', 'Generosity', 'Perceptions of corruption', 'Dystopia']]
WHR.head(10)
# Verificando o número de linhas e colunas
print("Existem {:,} linhas ".format(WHR.shape[0]) + "e {} colunas nos seus dados".format(WHR.shape[1]))
# Excluindo a coluna index
WHR.set_index('Country', inplace=True)
# Identificando o tipo de cada variável:
display(WHR.dtypes)<jupyter_output><empty_output><jupyter_text>Análise Exploratória, Limpeza e Transformação de Dados<jupyter_code># Verificando o total de ocorrências de valores nulos por coluna
WHR.isnull().sum()
# Descrevendo os dados
WHR.describe()<jupyter_output><empty_output><jupyter_text>Pergunta 1 - Quais são os 10 países mais felizes?<jupyter_code># Ordenando os dez primeiros paises pelo ranking geral
WHR.sort_values(by="Overall rank", ascending=True).head(10)
# Mostrando graficamente

WHR['Score'].head(10).plot(xticks=np.arange(9), kind='barh', figsize= (10, 10))
plt.ylabel("Country")
plt.xlabel("Score")
plt.title('Score of the top 10 Countries')
# Índice de Felicidade por variável dos 10 paises mais felizes
WHR[['GDP per capita', 'Social support','Healthy life expectancy', 'Freedom to make life choices', 'Generosity', 
     'Perceptions of corruption', 'Dystopia']].head(10).plot(kind='barh',
                                                                xticks=np.arange(9), stacked=True, figsize= (10, 10))

plt.xlabel("Score")
plt.title('Score of the top 10 Countries')
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)<jupyter_output><empty_output><jupyter_text>Pergunta 2 - Quais são os 10 países menos felizes?<jupyter_code># Ordenando os dez últimos paises pelo ranking geral
WHR.sort_values(by="Overall rank", ascending=False).head(10)
# Mostrando graficamente

WHR['Score'].tail(10).plot(xticks=np.arange(9), kind='barh', figsize= (10, 10))
plt.ylabel("Country")
plt.xlabel("Score")
plt.title('Score of the top 10 Countries')
# Índice de Felicidade por variável dos 10 paises menos felizes
WHR[['GDP per capita', 'Social support','Healthy life expectancy', 'Freedom to make life choices', 'Generosity', 
     'Perceptions of corruption', 'Dystopia']].tail(10).plot(kind='barh',
                                                                xticks=np.arange(9), stacked=True, figsize= (10, 10))

plt.xlabel("Score")
plt.title('Score of the top 10 Countries')
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)<jupyter_output><empty_output><jupyter_text>Pergunta 3 - Qual é a média do Índice de Felicidade?<jupyter_code># Média Global do Índice de Felicidade
print("A média global do Índice de Felicidade é: {:.2f} ".format(WHR['Score'].mean()))<jupyter_output>A média global do Índice de Felicidade é: 5.41<jupyter_text>Pergunta 4 - Qual é o Índice de Felicidade por Critério?<jupyter_code># Gráficos de dispersão do Índice de Felicidade em relação a cada uma das variáveis
sns.pairplot(data=WHR, kind='reg', height = 5,
                  x_vars=['Score'],
                  y_vars=['GDP per capita', 'Social support','Healthy life expectancy', 'Freedom to make life choices', 
                          'Generosity', 'Perceptions of corruption', 'Dystopia'])<jupyter_output><empty_output><jupyter_text>Pergunta 5 - Qual a correlação entre o Índice de Felicidade e os Critérios?<jupyter_code># Correlação entre o Índice de Felicidade e cada uma das outras variáveis
WHR.corr(method="pearson", min_periods=20)
# Mostrando graficamente

corr = WHR.corr(method = "pearson")

f, ax = plt.subplots(figsize=(10, 10))

sns.heatmap(corr, mask=np.zeros_like(corr, dtype=np.bool), 
            cmap=sns.diverging_palette(220, 10, as_cmap=True), square=True, ax=ax)<jupyter_output><empty_output><jupyter_text>Importando Dashboard do Power BI<jupyter_code># Importando o DeviceCodeLoginAuthentication
from powerbiclient import Report, models
from powerbiclient.authentication import DeviceCodeLoginAuthentication

# Iniciando a autenticação do dispositivo
device_auth = DeviceCodeLoginAuthentication()
access_token = device_auth.get_access_token()
group_id = "29772b25-bf90-4317-8cc4-2331921ae9ef"
report_id = "bc138c3d-0e0f-4806-b786-ecc7e92bf893"
report = Report(group_id=group_id, report_id=report_id, auth=device_auth)

report<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1007046388725778, 'fraction_numerical': 0.02172636523781562, 'mean_word_length': 5.296672828096118, 'pattern_counts': {'":': 0, '<': 40, '<?xml version=': 0, '>': 40, 'https://': 0, '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': '10', 'dir': 'jupyter-structured-clean-dedup', 'id': '218969', 'license': 'MIT', 'n_tokens_mistral': 2468, 'n_tokens_neox': 2298, 'n_words': 706, 'path': 'World_Happiness/Analysis_World_Happiness.ipynb', 'repo_name': 'DaianeCamara/Analise-de-Dados', 'size': '6812'}