Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

08 Desafío: hora de practicar

¡Ha llegado el momento de practicar! Aplicaremos los conceptos aprendidos durante la clase a través de algunas actividades. Resuelva los problemas propuestos mediante códigos utilizando la base de datos proporcionada en el curso.

  1. Agrupe los datos según la columna "Nível 1 - Setor" para ver el diccionario que contiene las llaves de los grupos formados y la lista de índices para cada grupo.
  2. Agrupe los datos según la columna "Nível 1 - Setor" y ubique los datos del grupo "Agropecuária".
  3. Agrupe los datos con base en la columna “Nível 1 - Setor” para identificar la emisión promedio de cada actividad económica en 2021.
  4. Agrupe los datos con base en la columna "Nível 1 - Setor" para identificar la suma de emisiones de cada actividad económica. Ordene los datos de mayor a menor emisión.

SOLUCIÓN:

  1. Agrupe los datos según la columna "Nível 1 - Setor" para ver el diccionario que contiene las llaves de los grupos formados y la lista de índices para cada grupo.
import pandas as pd

df = pd.read_excel('/content/GEE_ESTADOS.xlsx')

agrupados_por_sector = df.groupby('Nível 1 - Setor')

# Acceder al diccionario de grupos
dict_grupos = agrupados_por_sector.groups

# Resultado
print("Sectores encontrados (Llaves del diccionario):")
print(dict_grupos.keys())

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

print("\nDiccionario completo de grupos (llave: lista de índices):")
print(dict_grupos)

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

  1. Agrupe los datos según la columna "Nível 1 - Setor" y ubique los datos del grupo "Agropecuária".
agrupados_por_sector = df.groupby('Nível 1 - Setor')

df_agropecuaria = agrupados_por_sector.get_group('Agropecuária')

# resultados
print("Información del grupo 'Agropecuária':")
print(f"Total de registros encontrados: {len(df_agropecuaria)}")
print("\nPrimeras filas del grupo:")
print(df_agropecuaria.head())

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

  1. Agrupe los datos con base en la columna “Nível 1 - Setor” para identificar la emisión promedio de cada actividad económica en 2021.
promedio_emisiones_2021 = df.groupby('Nível 1 - Setor')[[2021]].mean()
print("Emisión promedio por Sector en el año 2021:")
print(promedio_emisiones_2021.sort_values(by=2021, ascending=False))

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

  1. Agrupe los datos con base en la columna "Nível 1 - Setor" para identificar la suma de emisiones de cada actividad económica. Ordene los datos de mayor a menor emisión.
# Identificamos las columnas de los años (emisiones)
year_columns = [col for col in df.columns if isinstance(col, int) and col >= 1970 and col <= 2021]

# Agrupamos por 'Nível 1 - Setor' y sumamos las emisiones de los años
suma_emisiones_por_sector = df.groupby('Nível 1 - Setor')[year_columns].sum()

# 3. Sumamos todas las columnas de años para obtener una 'Total_Emision'
suma_emisiones_por_sector['Total_Emision'] = suma_emisiones_por_sector[year_columns].sum(axis=1)

# 4. Ordenamos los datos de mayor a menor emisión total
emisiones_ordenadas = suma_emisiones_por_sector.sort_values(by='Total_Emision', ascending=False)

# 5. Mostramos el resultado
print("\nSuma total de emisiones por Sector (1970-2021), ordenado de mayor a menor:")
print(emisiones_ordenadas[['Total_Emision']])

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola César, espero que estés bien

Parece que estás trabajando con agrupaciones en Pandas. Vamos a revisar cada uno de los puntos para asegurarnos de que todo esté claro:

  1. Agrupación por "Nível 1 - Setor": Has agrupado correctamente los datos y obtenido el diccionario de grupos. El código que usaste está bien para ver las llaves y los índices de cada grupo.

  2. Datos del grupo "Agropecuária": El código que proporcionaste para obtener los datos del grupo "Agropecuária" es correcto. Estás utilizando get_group para acceder a ese grupo específico.

  3. Emisión promedio en 2021: Estás calculando la media de las emisiones para cada sector en 2021 correctamente. Asegúrate de que la columna del año esté bien identificada como 2021 en tu DataFrame.

  4. Suma de emisiones y ordenación: El proceso de sumar las emisiones por sector y luego ordenarlas de mayor a menor también está bien implementado. Has identificado correctamente las columnas de años y calculado la suma total de emisiones.

Si tienes algún problema específico con el código o los resultados, házmelo saber para que podamos solucionarlo.

Espero que esto te ayude a avanzar. ¡Bons estudos!