Índice de redefinição do Pandas DataFrame
-
Pandas DataFrame
reset_index()
Método -
Redefinir o índice de um DataFrame usando o método
pandas.DataFrame.reset_index()
![Índice de redefinição do Pandas DataFrame](/img/Python-Pandas/feature-image---Pandas-reset-index-python.webp)
Este tutorial explica como podemos repor o índice em Pandas DataFrame utilizando pandas.DataFrame.reset_index()
. O método reset_index()
define o índice do DataFrame para o índice padrão com números que vão de 0
a (número de linhas em DataFrame-1)
.
Pandas DataFrame reset_index()
Método
Sintaxe
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill="")
Redefinir o índice de um DataFrame usando o método 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)
Resultado:
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
Suponha que temos um DataFrame com cinco linhas e quatro colunas, como mostrado na saída. Também temos um array de índices na DataFrame.
Repor Índice de um DataFrame Manter o Índice Inicial de DataFrame como uma Coluna
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)
Resultado:
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
Repõe o índice da DataFrame student_df
para o índice padrão. O inplace=True
faz a alteração do próprio DataFrame original. Se utilizarmos drop=False
, o índice inicial é colocado como uma coluna no DataFrame após a utilização do método reset_index()
.
Redefinir Índice de um DataFrame Remover o Índice Inicial do 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)
Resultado:
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
Repõe o índice da DataFrame student_df
para o índice padrão. Como definimos drop=True
no método reset_index()
, o índice inicial é descartado a partir do DataFrame.
Redefinir índice de um DataFrame após a eliminação de linhas
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)
Resultado:
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
Como podemos ver na saída, temos índices em falta após a eliminação de linhas. Nesses casos, podemos utilizar o método reset_index()
para utilizar o índice sem valores em falta.
Se quisermos que o índice inicial seja colocado como coluna da DataFrame, podemos utilizar drop=False
no método reset_index()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn