Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aprendizaje Esperado 5
Aprendizaje Esperado 5
Indexación jerárquica
Aprendizaje Esperado 5
Aplica técnicas de unión, combinación y redimensionamiento de
estructuras de datos utilizando librerías de Python para el reacomodo de
datos.
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
5. Indexación jerárquica
Contexto
La indexación jerárquica, también conocida como indexación multinivel o
MultiIndex en el contexto de pandas, es una técnica que permite gestionar
y organizar datos en un DataFrame con múltiples niveles de índices, tanto
para las filas como para las columnas. Esta funcionalidad proporciona una
estructura más compleja para la representación de datos tabulares, lo que
es especialmente útil cuando se trabaja con datos multidimensionales o
datos que requieren una organización más detallada. La indexación
jerárquica permite realizar operaciones avanzadas de acceso, selección y
análisis de datos de manera eficiente, lo que la convierte en una
herramienta esencial en el análisis de datos y la manipulación de datos
complejos.
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
ÍNDICES
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Ejemplo de arrays:
Ejemplo de tuplas:
Ejemplo producto:
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Ejemplo de frames:
Reordenamiento de niveles
El reordenamiento de niveles en un DataFrame o una Serie con MultiIndex
es la capacidad de cambiar el orden de los niveles de índice jerárquico.
Esto puede ser útil para cambiar la jerarquía de los datos y reorganizarlos
según tus necesidades específicas de análisis. Pandas proporciona
métodos para realizar este reordenamiento, como swaplevel() y
reorder_levels().
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Con salida:
Y ahora reordenamos:
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
La salida:
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Ejemplo:
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
El método append
La función merge
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
OPERACIONES
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
En este caso, realizamos un "left join" y el resultado incluirá todas las filas
de df1 y las filas coincidentes de df2. Las filas de df2 que no tienen
coincidencias se llenarán con valores NaN en las columnas
correspondientes.
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
También puedes especificar qué tipo de "join" deseas realizar (inner, outer,
left, right) utilizando el argumento how, de manera similar a los ejemplos
anteriores. El resultado será un nuevo DataFrame que combina los datos
de ambos DataFrames utilizando los índices como claves de unión.
Ejercicio guiado
Para este ejercicio, crearemos dos DataFrames de ejemplo que compartirán una
columna común que usaremos como clave de unión.
import pandas as pd
df1 = pd.DataFrame({
'valor_df1': [1, 2, 3, 4]
})
df2 = pd.DataFrame({
'valor_df2': [5, 6, 7, 8]
})
print("DataFrame 1:")
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
print(df1)
print("\nDataFrame 2:")
print(df2)
print(df_inner_join)
El resultado del inner join será un nuevo DataFrame que contiene solo las filas con claves
que están presentes en ambos DataFrames originales.
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Ejercicio guiado
Vamos a crear dos DataFrames con una columna común que actuará como
un identificador único.
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
import pandas as pd
df1 = pd.DataFrame({
'valor_df1': [1, 2, 3]
})
df2 = pd.DataFrame({
'valor_df2': [4, 5, 6]
})
print("DataFrame 1:")
print(df1)
print("\nDataFrame 2:")
print(df2)
print(df_combinado)
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Investiga cómo realizar otros tipos de joins como 'left', 'right' y 'outer' para
ver cómo manejan los datos traslapados y los valores faltantes.
print(df_left_join)
print(df_right_join)
print(df_outer_join)
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
df1_indexed = df1.set_index('identificador')
df2_indexed = df2.set_index('identificador')
print(df_inner_join)
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Redimensión de un dataframe
stack(): Convierte columnas en un índice, lo que transforma el DataFrame
de ancho a largo.
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Ejemplo:
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Agrupación de datos
groupby y agg son las dos funciones para agrupar datos en pandas. Aquí
un par de ejemplos:
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
La salida original:
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
El resultado sería:
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Referencias
● Living sun: pandas que coinciden en el nivel del índice jerárquico -
python, pandas, indexación
https://living-sun.com/es/python/689481-pandas-matching-on-
level-of-hierarchical-index-python-pandas-indexing.html
Módulo
Obtención y Preparación de Datos
Aprendizaje Esperado 5
Indexación jerárquica
Módulo
Obtención y Preparación de Datos