Método DataFrame.reindex() de Pandas

Beginner

Introducción

En este tutorial, aprenderemos sobre el método DataFrame.reindex() de pandas en Python. Exploraremos cómo cambiar el índice y las columnas de un DataFrame utilizando este método. El método DataFrame.reindex() nos permite reconciliar el DataFrame con un nuevo índice llenando los valores nulos en las ubicaciones que no tenían valor en el índice anterior.

Consejos para la MV

Después de que la máquina virtual (VM) haya terminado de iniciar, haz clic en la esquina superior izquierda para cambiar a la pestaña Notebook y acceder a Jupyter Notebook para practicar.

A veces, es posible que debas esperar unos segundos para que Jupyter Notebook termine de cargar. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si encuentras problemas durante el aprendizaje, no dudes en preguntarle a Labby. Proporciona comentarios después de la sesión y resolveremos rápidamente el problema para ti.

Importa la librería pandas y crea un DataFrame

Comencemos importando la librería pandas y creando un DataFrame. Utilizaremos este DataFrame para demostrar el método DataFrame.reindex().

import pandas as pd

## Create a DataFrame
df = pd.DataFrame([[1, 6, 2], [3, 4, 6], [12, 1, 0]], columns=['A', 'B', 'C'], index=['index_1', 'index_2', 'index_3'])

Reindexa el DataFrame utilizando el parámetro index

Para reindexar el DataFrame cambiando el índice, pasa una lista de nuevas etiquetas de índice al método DataFrame.reindex(). Cualquier etiqueta de índice que no esté presente en el DataFrame original se llenará con valores NaN.

## Reindex the DataFrame with a new index
new_index = ['index_1', 'index_2', 'index_4']
reindexed_df = df.reindex(index=new_index)

print(reindexed_df)

Salida:

         A    B    C
index_1  1.0  6.0  2.0
index_2  3.0  4.0  6.0
index_4  NaN  NaN  NaN

Reindexa el DataFrame utilizando el parámetro columns

De manera similar, puedes reindexar el DataFrame cambiando las columnas utilizando el método DataFrame.reindex(). Proporciona una lista de nuevas etiquetas de columna al parámetro columns. Cualquier columna que no esté presente en el DataFrame original se llenará con valores NaN.

## Reindex the DataFrame with new columns
new_columns = ['A', 'C', 'D']
reindexed_df = df.reindex(columns=new_columns)

print(reindexed_df)

Salida:

         A    C    D
index_1  1.0  2.0  NaN
index_2  3.0  6.0  NaN
index_3  12.0  0.0  NaN

Rellena los valores nulos utilizando el parámetro fill_value

Si deseas rellenar los valores nulos con un valor específico, puedes utilizar el parámetro fill_value del método DataFrame.reindex(). Proporciona el valor deseado para rellenar los valores nulos.

## Reindex the DataFrame and fill null values with 2
new_index = ['index_1', 'index_2', 'index_4']
reindexed_df = df.reindex(index=new_index, fill_value=2)

print(reindexed_df)

Salida:

         A  B  C
index_1  1  6  2
index_2  3  4  6
index_4  2  2  2

Resumen

En este tutorial, aprendimos cómo reindexar un DataFrame utilizando el método DataFrame.reindex() en pandas. Exploramos cómo cambiar el índice y las columnas de un DataFrame, rellenar valores nulos y especificar un valor de relleno para los valores nulos. Saber cómo reindexar correctamente un DataFrame es útil para manipular y alinear datos en pandas.