Pandas DataFrame Azzera indice
-
Pandas DataFrame Metodo
reset_index()
-
Reimpostare l’indice di un DataFrame utilizzando il metodo
pandas.DataFrame.reset_index()
Questo tutorial spiega come possiamo resettare l’indice in Pandas DataFrame usando pandas.DataFrame.reset_index()
. Il metodo reset_index()
imposta l’indice del DataFrame sull’indice predefinito con numeri che vanno da 0
a (numero di righe in DataFrame-1)
.
Pandas DataFrame Metodo reset_index()
Sintassi
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill="")
Reimpostare l’indice di un DataFrame utilizzando il metodo pandas.DataFrame.reset_index()
import pandas as pd
roll_no = [501, 502, 503, 504, 505]
student_df = pd.DataFrame(
{
"Name": ["Alice", "Steven", "Neesham", "Chris", "Alice"],
"Age": [17, 20, 18, 21, 15],
"City": ["New York", "Portland", "Boston", "Seattle", "Austin"],
"Grade": ["A", "B-", "B+", "A-", "A"],
},
index=roll_no,
)
print(student_df)
Produzione:
Name Age City Grade
501 Alice 17 New York A
502 Steven 20 Portland B-
503 Neesham 18 Boston B+
504 Chris 21 Seattle A-
505 Alice 15 Austin A
Supponiamo di avere un DataFrame con cinque righe e quattro colonne come visualizzato nell’output. Abbiamo anche un indice impostato nel DataFrame.
Reimpostare l’indice di un DataFrame Mantenendo l’indice iniziale di DataFrame come una colonna
import pandas as pd
roll_no = [501, 502, 503, 504, 505]
student_df = pd.DataFrame(
{
"Name": ["Alice", "Steven", "Neesham", "Chris", "Alice"],
"Age": [17, 20, 18, 21, 15],
"City": ["New York", "Portland", "Boston", "Seattle", "Austin"],
"Grade": ["A", "B-", "B+", "A-", "A"],
},
index=roll_no,
)
print("Initial DataFrame:")
print(student_df)
print("")
print("DataFrame after reset_index:")
student_df.reset_index(inplace=True, drop=False)
print(student_df)
Produzione:
Initial DataFrame:
Name Age City Grade
501 Alice 17 New York A
502 Steven 20 Portland B-
503 Neesham 18 Boston B+
504 Chris 21 Seattle A-
505 Alice 15 Austin A
DataFrame after reset_index:
index Name Age City Grade
0 501 Alice 17 New York A
1 502 Steven 20 Portland B-
2 503 Neesham 18 Boston B+
3 504 Chris 21 Seattle A-
4 505 Alice 15 Austin A
Reimposta l’indice del DataFrame student_df
sull’indice predefinito. inplace=True
apporta la modifica nel DataFrame originale stesso. Se usiamo drop=False
, l’indice iniziale viene posizionato come una colonna nel DataFrame dopo aver utilizzato il metodo reset_index()
.
Reimposta l’indice di un DataFrame Rimozione dell’indice iniziale di DataFrame
import pandas as pd
roll_no = [501, 502, 503, 504, 505]
student_df = pd.DataFrame(
{
"Name": ["Alice", "Steven", "Neesham", "Chris", "Alice"],
"Age": [17, 20, 18, 21, 15],
"City": ["New York", "Portland", "Boston", "Seattle", "Austin"],
"Grade": ["A", "B-", "B+", "A-", "A"],
},
index=roll_no,
)
print("Initial DataFrame:")
print(student_df)
print("")
print("DataFrame after reset_index:")
student_df.reset_index(inplace=True, drop=True)
print(student_df)
Produzione:
Initial DataFrame:
Name Age City Grade
501 Alice 17 New York A
502 Steven 20 Portland B-
503 Neesham 18 Boston B+
504 Chris 21 Seattle A-
505 Alice 15 Austin A
DataFrame after reset_index:
Name Age City Grade
0 Alice 17 New York A
1 Steven 20 Portland B-
2 Neesham 18 Boston B+
3 Chris 21 Seattle A-
4 Alice 15 Austin A
Reimposta l’indice del DataFrame student_df
sull’indice predefinito. Poiché abbiamo impostato drop=True
nel metodo reset_index()
, l’indice iniziale viene eliminato dal DataFrame.
Reimposta l’indice di un DataFrame dopo l’eliminazione delle righe
import pandas as pd
roll_no = [501, 502, 503, 504, 505]
student_df = pd.DataFrame(
{
"Name": ["Alice", "Steven", "Neesham", "Chris", "Alice"],
"Age": [17, 20, 18, 21, 15],
"City": ["New York", "Portland", "Boston", "Seattle", "Austin"],
"Grade": ["A", "B-", "B+", "A-", "A"],
}
)
student_df.drop([2, 3], inplace=True)
print("Initial DataFrame:")
print(student_df)
print("")
student_df.reset_index(inplace=True, drop=True)
print("DataFrame after reset_index:")
print(student_df)
Produzione:
Initial DataFrame:
Name Age City Grade
0 Alice 17 New York A
1 Steven 20 Portland B-
4 Alice 15 Austin A
DataFrame after reset_index:
Name Age City Grade
0 Alice 17 New York A
1 Steven 20 Portland B-
2 Alice 15 Austin A
Come possiamo vedere nell’output, mancano gli indici dopo aver eliminato le righe. In questi casi, possiamo usare il metodo reset_index()
per usare l’indice senza valori mancanti.
Se vogliamo che l’indice iniziale sia posizionato come colonna del DataFrame, possiamo usare drop=False
nel metodo reset_index()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn