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.