







Hola, Andrés, espero que estés bien
Para abordar el desafío, necesitas realizar dos visualizaciones: una para mostrar el historial de consumo de los 10 países más consumidores y otra para analizar las tendencias de consumo por fuentes primarias.
Veo que ya tienes un gráfico de líneas con Plotly para los 10 países más consumidores. Asegúrate de que los datos en df_top10 estén correctamente preparados y que el gráfico se visualice adecuadamente con:
import plotly.express as px
fig = px.line(
df_top10,
x="anio",
y="consumo",
color="pais",
title="Consumo energético de los 10 países más consumidores (2007-2021)",
labels={
"anio": "Año",
"consumo": "Consumo de energía (cuatrillones de BTU)",
"pais": "País"
}
)
fig.show()
Para la descomposición de tendencias, puedes usar statsmodels para aplicar la descomposición estacional. Aquí tienes un ejemplo de cómo hacerlo:
import pandas as pd
from statsmodels.tsa.seasonal import seasonal_decompose
import plotly.graph_objs as go
# Supongamos que 'resumen_mundial' es tu DataFrame con datos de consumo por fuentes primarias
# y que tiene una columna 'consumo_total' para el consumo total.
result = seasonal_decompose(resumen_mundial['consumo_total'], model='additive', period=12)
# Crear gráficos para cada componente
fig = go.Figure()
fig.add_trace(go.Scatter(x=resumen_mundial.index, y=result.trend, mode='lines', name='Tendencia'))
fig.add_trace(go.Scatter(x=resumen_mundial.index, y=result.seasonal, mode='lines', name='Estacionalidad'))
fig.add_trace(go.Scatter(x=resumen_mundial.index, y=result.resid, mode='lines', name='Residuo'))
fig.update_layout(title='Descomposición de la serie temporal del consumo de energía',
xaxis_title='Año',
yaxis_title='Consumo de energía')
fig.show()
Asegúrate de ajustar las columnas y los índices según tus datos. Espero que esto te ayude a completar tu desafío. ¡Buena suerte y que disfrutes del proceso!
Espero haber ayudado y buenos estudios!