Lección 6.2 : reset_index y set_index en group by en Dataframe Pandas
Reset Index y Set Index en GroupBy en DataFrame Pandas
Introducción
En esta lección, Yuscu Mejía nos enseñará cómo utilizar los métodos reset_index
y set_index
en combinación con operaciones de groupby
en Pandas. Aprenderemos a agrupar datos, restablecer el índice de los resultados agrupados y establecer columnas específicas como el índice, lo que puede ser útil para diversas tareas de análisis de datos.
Características
La combinación de groupby
con los métodos reset_index
y set_index
en Pandas ofrece las siguientes características:
groupby
: Permite agrupar datos basados en una o más columnas.reset_index
: Permite restablecer el índice de un DataFrame a un índice numérico predeterminado después de una operación de agrupación.set_index
: Permite establecer una columna específica como el índice de un DataFrame después de una operación de agrupación.- Facilitan la organización y análisis de datos agrupados.
Ejemplos
A continuación, Yuscu Mejía nos muestra algunos ejemplos de cómo utilizar groupby
en combinación con los métodos reset_index
y set_index
en Pandas:
- Agrupar datos por una columna específica y restablecer el índice.
- Agrupar datos y establecer una columna como el nuevo índice.
- Agrupar datos, restablecer el índice y mantener el índice anterior como una columna.
# Importar pandas
import pandas as pd
# Crear DataFrame de ejemplo
data = {'Nombre': ['Ana', 'Luis', 'Ana', 'Carlos', 'Luis'],
'Edad': [23, 34, 23, 45, 34],
'Ciudad': ['Madrid', 'Barcelona', 'Madrid', 'Valencia', 'Barcelona']}
df = pd.DataFrame(data)
print("DataFrame original:")
print(df)
# Agrupar por 'Nombre' y contar las ocurrencias
df_grouped = df.groupby('Nombre').size()
print("\nDataFrame agrupado por 'Nombre':")
print(df_grouped)
# Restablecer el índice después de agrupar
df_grouped_reset = df_grouped.reset_index(name='counts')
print("\nDataFrame agrupado con índice restablecido:")
print(df_grouped_reset)
# Establecer 'Ciudad' como el índice después de agrupar por 'Nombre'
df_grouped_city = df.groupby('Ciudad').mean()
df_grouped_city_set = df_grouped_city.set_index('Edad')
print("\nDataFrame agrupado por 'Ciudad' con 'Edad' como índice:")
print(df_grouped_city_set)
Práctica
Aprende a utilizar los métodos reset_index
y set_index
en combinación con groupby
en Pandas siguiendo nuestro tutorial en video, presentado por Yuscu Mejía:
Ejercicio 1: Agrupar y Restablecer Índice
Utiliza groupby
seguido de reset_index
para manipular el índice de un DataFrame agrupado.
- a) Crea un DataFrame de ejemplo y agrupa los datos por una columna específica.
- b) Restablece el índice del DataFrame agrupado.
Ejercicio 2: Agrupar y Establecer Nuevo Índice
Utiliza groupby
seguido de set_index
para establecer una nueva columna como índice en un DataFrame agrupado.
- a) Crea un DataFrame de ejemplo y agrupa los datos por una columna específica.
- b) Establece una columna del DataFrame agrupado como el nuevo índice.
#Ejercicio 1
a) Agrupar y Restablecer Índice
import pandas as pd
# Crear DataFrame de ejemplo
data = {'Nombre': ['Ana', 'Luis', 'Ana', 'Carlos', 'Luis'],
'Edad': [23, 34, 23, 45, 34],
'Ciudad': ['Madrid', 'Barcelona', 'Madrid', 'Valencia', 'Barcelona']}
df = pd.DataFrame(data)
print("DataFrame original:")
print(df)
# Agrupar por 'Nombre' y contar las ocurrencias
df_grouped = df.groupby('Nombre').size()
print("\nDataFrame agrupado por 'Nombre':")
print(df_grouped)
b) Restablecer el Índice
# Restablecer el índice después de agrupar
df_grouped_reset = df_grouped.reset_index(name='counts')
print("\nDataFrame agrupado con índice restablecido:")
print(df_grouped_reset)
#Ejercicio 2
a) Agrupar y Establecer Nuevo Índice
# Agrupar por 'Ciudad' y calcular la media de la edad
df_grouped_city = df.groupby('Ciudad').mean()
print("\nDataFrame agrupado por 'Ciudad':")
print(df_grouped_city)
# Establecer 'Edad' como el índice después de agrupar por 'Ciudad'
df_grouped_city_set = df_grouped_city.set_index('Edad')
print("\nDataFrame agrupado por 'Ciudad' con 'Edad' como índice:")
print(df_grouped_city_set)