EXPLORANDO LA FELICIDAD GLOBAL
La clave detrás de los países más felices
EXPLORANDO LA FELICIDAD GLOBAL
La clave detrás de los países más felices
Documentación: Análisis de Datos de Felicidad Mundial (2015-2024)
Objetivo del Proyecto
El objetivo de este proyecto es analizar los datos de felicidad mundial desde 2015 hasta 2019, basándose en diversas métricas de bienestar de diferentes países. Las métricas incluyen indicadores como el Producto Interno Bruto (PIB) per cápita, la esperanza de vida, la libertad, y otros factores que afectan la felicidad de las personas a nivel global.
En la sección de documentación encontrarás la descripción ténica del proyecto. Donde describimos el proceso de actualiación, visualización e información de las variables contenidas en el desarrollo.
Asimismo, podrás descargar el notebook utilizado para el odelado de datos. Este código esta con los comentarios necesarios para su buen entendimiento y actualización.Además de presentar con más detalle aún el proceso realizado para el modelado ty transformación de los datos.
Herramientas Requeridas y Manejo de Datos
Descarga el código de Modelado de datos aquí
Este análisis se lleva a cabo utilizando Python y las siguientes librerías:
Pandas: Para la manipulación y análisis de datos en formato de tablas.
Numpy: Para realizar operaciones numéricas y cálculos adicionales.
Proceso del Análisis
Paso 1: Importación de Librerías
Primero, es necesario importar las librerías requeridas para poder trabajar con los datos:
Pandas se utiliza para cargar y manipular los datos en formato de tabla.
Numpy es útil para realizar operaciones matemáticas y numéricas.
Paso 2: Cargar los Datos
Los datos de felicidad mundial de los años 2015 a 2019 se encuentran en archivos CSV. Existen dos formas de cargar estos archivos:
Usar el comando pd.read_csv() para cargar los archivos locales.
En caso de que los datos estén en línea, proporcionar la URL del archivo en Google Drive para cargarlo directamente desde la web.
Paso 3: Almacenar los Datos en un Diccionario
Una vez cargados los datasets, almacenaremos los datos en un diccionario para facilitar su acceso posterior.
Paso 4: Inspección de los Datos
A continuación, revisamos el contenido de cada dataframe para asegurarnos de que los datos se han cargado correctamente. Usamos el comando df.info() para obtener detalles sobre cada dataframe, como el número de filas, el tipo de datos en cada columna y la cantidad de valores no nulos.
Paso 5: Selección de Columnas Relevantes
Para facilitar el análisis, seleccionamos un conjunto específico de columnas que nos interesan de cada año: columnas = ["Country", "Region", "Happiness Rank", "Happiness Score", "Economy (GDP per Capita)", "Family", "Health (Life Expectancy)", "Freedom", "Generosity", "Trust (Government Corruption)"]
Además de esto se realizo la limpieza de las columnas, en este caso se seleccionaron y filtraron de la siguiente manera columnas = { "2015": ["Country", "Region", "Happiness Rank", "Happiness Score", "Economy (GDP per Capita)", "Family", "Health (Life Expectancy)", "Freedom", "Generosity", "Trust (Government Corruption)"],
"2016": ["Country", "Region", "Happiness Rank", "Happiness Score", "Economy (GDP per Capita)",
"Family", "Health (Life Expectancy)", "Freedom", "Generosity", "Trust (Government Corruption)"],
"2017": ["Country", "Happiness.Rank", "Happiness.Score", "Economy..GDP.per.Capita.", "Family",
"Health..Life.Expectancy.", "Freedom", "Generosity", "Trust..Government.Corruption."],
"2018": ["Country or region", "Overall rank", "Score", "GDP per capita", "Social support",
"Healthy life expectancy", "Freedom to make life choices", "Generosity", "Perceptions of corruption"],
"2019": ["Country or region", "Overall rank", "Score", "GDP per capita", "Social support",
"Healthy life expectancy", "Freedom to make life choices", "Generosity", "Perceptions of corruption"],
"2020": ["Country", "Region", "Happiness Rank", "Happiness Score", "Economy (GDP per Capita)",
"Family", "Health (Life Expectancy)", "Freedom", "Generosity", "Trust (Government Corruption)"],
"2021": ["Country", "Region", "Happiness Rank", "Happiness Score", "Economy (GDP per Capita)",
"Family", "Health (Life Expectancy)", "Freedom", "Generosity", "Trust (Government Corruption)"],
"2022": ["Country", "Region", "Happiness Rank", "Happiness Score", "Economy (GDP per Capita)",
"Family", "Health (Life Expectancy)", "Freedom", "Generosity", "Trust (Government Corruption)"],
"2023": ["Country", "Region", "Happiness Rank", "Happiness Score", "Economy (GDP per Capita)",
"Family", "Health (Life Expectancy)", "Freedom", "Generosity", "Trust (Government Corruption)"],
"2024": ["Country", "Region", "Happiness Rank", "Happiness Score", "Economy (GDP per Capita)",
"Family", "Health (Life Expectancy)", "Freedom", "Generosity", "Trust (Government Corruption)"]
}
df_2015 = df_2015[columnas["2015"]] df_2016 = df_2016[columnas["2016"]] df_2017 = df_2017[columnas["2017"]] df_2018 = df_2018[columnas["2018"]] df_2019 = df_2019[columnas["2019"]] df_2020 = df_2020[columnas["2020"]] df_2021 = df_2021[columnas["2021"]] df_2022 = df_2022[columnas["2022"]] df_2023 = df_2023[columnas["2023"]] df_2024 = df_2024[columnas["2024"]] columnas_esp = { "Country": "Pais", "Country or region": "Pais", "Region": "Region", "Happiness Rank": "Ranking de Felicidad", "Happiness.Rank": "Ranking de Felicidad", "Overall rank": "Ranking de Felicidad", "Happiness.Score": "Puntaje de Felicidad", "Happiness Score": "Puntaje de Felicidad", "Score": "Puntaje de Felicidad", "Economy (GDP per Capita)": "PIB per Capita", "GDP per capita": "PIB per Capita", "Economy..GDP.per.Capita.": "PIB per Capita",
"Family": "Apoyo Social", "Social support": "Apoyo Social", "Health (Life Expectancy)": "Esperanza de Vida", "Healthy life expectancy": "Esperanza de Vida", "Health..Life.Expectancy.": "Esperanza de Vida",
"Freedom": "Libertad", "Freedom to make life choices": "Libertad", "Generosity": "Generosidad", "Trust (Government Corruption)": "Corrupcion Percibida", "Perceptions of corruption": "Corrupcion Percibida", "Trust..Government.Corruption.": "Corrupcion Percibida",
} df_2015 = df_2015.copy().rename(columns=columnas_esp) df_2016 = df_2016.copy().rename(columns=columnas_esp) df_2017 = df_2017.copy().rename(columns=columnas_esp) df_2018 = df_2018.copy().rename(columns=columnas_esp) df_2019 = df_2019.copy().rename(columns=columnas_esp) df_2020 = df_2020.copy().rename(columns=columnas_esp) df_2021 = df_2021.copy().rename(columns=columnas_esp) df_2022 = df_2022.copy().rename(columns=columnas_esp) df_2023 = df_2023.copy().rename(columns=columnas_esp) df_2024 = df_2024.copy().rename(columns=columnas_esp)
Paso 6: Generación de la Hoja de Cálculo
Una vez procesados los datos, generamos una hoja de cálculo usando la librería XlsxWriter para guardar los resultados y poder usarlos en herramientas como Looker Studio para análisis y visualización.
Visualización de los Datos en Looker Studio
Subir y Conectar los Datos
Abre Looker Studio.
Crea un nuevo reporte y selecciona "Informe".
Conecta la hoja de cálculo Happiness_Report.xlsx desde tu cuenta de Google Drive (asegúrate de haber subido el archivo previamente).
Configura las métricas y dimensiones, asignando correctamente columnas como Country, Happiness Score, y GDP per Capita.
Estructura del Dashboard en Looker Studio
El análisis de los datos se presenta en un dashboard interactivo dividido en cinco pestañas. Cada pestaña contiene diferentes visualizaciones y permite explorar los datos desde distintas perspectivas.
Pestaña 1: Resumen General
En esta sección, se muestran los siguientes KPIs:
País más feliz y menos feliz.
Promedio de felicidad global.
Mapa de calor de la felicidad por país.
Interactividad:
Se puede filtrar por año para explorar la evolución de la felicidad a lo largo del tiempo.
El mapa de calor usa colores para representar la felicidad: verde para los países más felices, amarillo para los medianos y rojo para los menos felices.
Se incluyen gráficas de los top 10 países más felices y menos felices.
Pestaña 2: Análisis de Factores Claves
En esta pestaña, se exploran los factores que afectan el índice de felicidad:
Texto explicativo: Se analiza la relación entre el PIB per cápita, el apoyo social, la esperanza de vida, la libertad, la generosidad y la confianza en el gobierno.
Interactividad: Filtros para seleccionar el factor a analizar y el año correspondiente.
Gráfica de regresión lineal: Muestra cómo cada factor afecta el índice de felicidad.
Top 10 de los mejores y peores países según el factor seleccionado.
Pestaña 3: Tendencias Temporales (2015-2019)
En esta sección, se muestra la evolución del puntaje de felicidad global a lo largo del tiempo:
Promedio y varianza del puntaje de felicidad global.
Tabla con historial de los países que ocupan el primer lugar en el ranking de felicidad.
Tendencias de factores: Selección de un factor para analizar su evolución a través del tiempo, mostrando su relación con el puntaje de felicidad global.
Pestaña 4: Comparación por Región
Aquí se analizan las diferencias en la felicidad entre las regiones:
Texto explicativo: Se comparan las diferencias de felicidad y otros factores entre las regiones del mundo.
Tabla comparativa: Muestra los factores clave (como apoyo social, PIB per cápita, etc.) por región.
Tendencias por región: Gráfico de líneas para comparar la evolución de la felicidad y los factores seleccionados en las regiones.
Pestaña 5: Análisis Interactivo por País
En esta última pestaña, los usuarios pueden seleccionar dos países y comparar su evolución en el ranking de felicidad, así como los factores clave asociados.
Interactividad: Se puede elegir el factor de análisis y el año de interés.
Cuadro comparativo: Muestra la evolución del puntaje de felicidad y otros factores para los países seleccionados.
Descripción de Variables
Variables originales de la fuente de Datos
Country (String): Nombre del país al que corresponde cada registro.
Region (String): Región geográfica a la que pertenece el país (disponible en 2015 y 2016).
Happiness Rank / Overall rank (Integer): Posición del país en el ranking global de felicidad.
Happiness Score / Score (Float): Valor que representa el nivel de felicidad del país en un año determinado.
2 Factores Económicos y Sociales
Economy (GDP per Capita) / GDP per capita (Float): Producto Interno Bruto per cápita ajustado por poder adquisitivo.
Family / Social support (Float): Medida del apoyo social percibido en cada país, basada en encuestas sobre relaciones familiares y comunitarias.
Health (Life Expectancy) / Healthy life expectancy (Float): Expectativa de vida ajustada por factores de salud.
Freedom / Freedom to make life choices (Float): Percepción de los ciudadanos sobre su libertad para tomar decisiones importantes en su vida.
Trust (Government Corruption) / Perceptions of corruption (Float): Nivel de confianza en las instituciones gubernamentales y percepción de corrupción en la sociedad.
Generosity (Float): Medida basada en encuestas que evalúan la disposición de los ciudadanos a donar dinero o ayudar a extraños.
Standard Error (Float): Margen de error en la estimación del puntaje de felicidad (disponible en 2015, 2016, 2020, 2021, 2022 y 2023).
Lower Confidence Interval / Whisker.low (Float): Límite inferior del intervalo de confianza para el puntaje de felicidad (2016, 2017).
Upper Confidence Interval / Whisker.high (Float): Límite superior del intervalo de confianza para el puntaje de felicidad (2016, 2017).
Dystopia Residual (Float): Valor residual del modelo de felicidad, utilizado como referencia para la peor situación posible en términos de felicidad.
Variables finales usadas en visualización
El dataset original contenía variables en inglés con diferentes nombres según el año. Para garantizar la coherencia en el análisis, se tradujeron y unificaron los nombres de las variables en español, consolidando la información de todos los años disponibles. Además, se añadieron nuevas métricas calculadas, como los promedios regionales y globales.
Año (Number): Año al que corresponde la información. Se usa como filtro principal para el análisis.
Año_Fecha (Date): Versión de la variable de año en formato de fecha, útil para ciertos tipos de visualizaciones.
Factor (Text - Parámetro): Permite seleccionar dinámicamente uno de los factores de felicidad en los gráficos de dispersión.
Pais (Country - Text): Nombre del país correspondiente al registro.
Region (Subcontinent - Text): Región geográfica a la que pertenece el país.
codigo_iso (Country - Text): Código ISO-2 del país, utilizado para asociar banderas y mapas geográficos.
Bandera (Image - Calculada): URL de la imagen de la bandera del país basada en el código ISO.
Ranking de Felicidad (Number - Sum): Posición del país en el ranking global de felicidad para el año seleccionado.
Puntaje de Felicidad (Number - Sum): Valor del índice de felicidad del país en el año correspondiente.
PIB per Capita (Number - Sum): Producto Interno Bruto per cápita ajustado por poder adquisitivo.
Apoyo Social (Number - Sum): Medida del respaldo social percibido en cada país.
Esperanza de Vida (Number - Sum): Expectativa de vida ajustada por calidad de salud.
Libertad (Number - Sum): Percepción de los ciudadanos sobre su capacidad de tomar decisiones importantes en su vida.
Generosidad (Number - Sum): Nivel de generosidad basado en encuestas sobre ayuda y donaciones.
Gobierno Confiable (Number - Sum): Percepción de los ciudadanos sobre la corrupción en el gobierno.
Promedio Regional (Number - Sum): Promedio del puntaje de felicidad de todos los países de la misma región en el año seleccionado.
Promedio Global (Number - Sum): Promedio del puntaje de felicidad de todos los países del mundo en el año seleccionado.
Mejor KPI Factor (Text - Calculada): Factor con el valor más alto dentro de los indicadores del país seleccionado.
Peor KPI Factor (Text - Calculada): Factor con el valor más bajo dentro de los indicadores del país seleccionado.
Promedio KPI Factor (Text - Calculada): Promedio de los valores de los factores seleccionados en el país.
Factor Seleccionado (Number - None): Factor dinámico que cambia según la selección del usuario, usado en gráficos comparativos.
📌 Nota: Las métricas se muestran con la agregación "Sum", pero en los análisis se interpretan como valores individuales de cada país.