Restablecer el índice de Pandas DataFrame

Cuando concatena, ordena, une o hace algunos reordenamientos con su DataFrame, el índice se baraja o se desordena.

Para restablecer el índice de un dataframe, puede utilizar el método pandas.DataFrame.reset_index().

Sintaxis de reset_index()

La sintaxis de la función DataFrame.reset_index() es la siguiente.

DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')

Para restablecer el índice, pase los parámetros drop=True e inplace=True.

Ejemplo 1: Pandas reordena el índice de un dataframe usando reset_index()

En este ejemplo, concatenaremos dos dataframes y luego usaremos reset_index() para reordenar el índice del dataframe.

import pandas as pd
	
df_1 = pd.DataFrame(
	[['Somu', 68, 84, 78, 96],
	['Kiku', 74, 56, 88, 85],
	['Ajit', 77, 73, 82, 87]],
	columns=['nombre', 'física', 'química','álgebra','cálculo'])

df_2 = pd.DataFrame(
	[['Amol', 72, 67, 91, 83],
	['Lini', 78, 69, 87, 92]],
	columns=['nombre', 'física', 'química','álgebra','cálculo'])	

#concatenar DataFrame
df = pd.concat([df_1, df_2])

#ahora el índice no está en orden
print("Antes del reordenamiento:\n", df) 

#restablecer el índice
df.reset_index(drop=True, inplace=True)

#imprimir el DataFrame
print("Después del reordenamiento:\n", df) 

Salida:

Antes del reordenamiento:
   nombre  física  química  álgebra  cálculo
0   Somu      68       84       78       96
1   Kiku      74       56       88       85
2   Ajit      77       73       82       87
0   Amol      72       67       91       83
1   Lini      78       69       87       92
Después del reordenamiento:
   nombre  física  química  álgebra  cálculo
0   Somu      68       84       78       96
1   Kiku      74       56       88       85
2   Ajit      77       73       82       87
3   Amol      72       67       91       83
4   Lini      78       69       87       92

Ejemplo 2: Pandas Reset Index of DataFrame usando concat()

También puede restablecer el índice utilizando la función concat(). Pase el argumento ignore_index=True a la función concat().

import pandas as pd
	
df_1 = pd.DataFrame(
	[['Somu', 68, 84, 78, 96],
	['Kiku', 74, 56, 88, 85],
	['Ajit', 77, 73, 82, 87]],
	columns=['nombre', 'física', 'química','álgebra','cálculo'])

df_2 = pd.DataFrame(
	[['Amol', 72, 67, 91, 83],
	['Lini', 78, 69, 87, 92]],
	columns=['nombre', 'física', 'química','álgebra','cálculo'])	

#concatenar DataFrame mientras se ordena
df = pd.concat([df_1, df_2], ignore_index=True)
 
#imprimir el DataFrame
print(df) 

Salida:

  nombre  física  química  álgebra  cálculo
0   Somu      68       84       78       96
1   Kiku      74       56       88       85
2   Ajit      77       73       82       87
3   Amol      72       67       91       83
4   Lini      78       69       87       92

Si sólo tiene un DataFrame cuyo índice debe restablecerse, sólo tiene que pasar ese marco de datos en la lista a la función concat() de la siguiente forma.

df = pd.concat([DataFrame], ignore_index=True)

En este tutorial de Pandas, hemos aprendido a reenviar el índice de Pandas DataFrame.

Deja una respuesta