Pandas DataFrame DataFrame.reindex() Função
-
Sintaxe de
pandas.DataFrame.reindex()
-
Códigos de exemplo:
DataFrame.reindex()
-
Códigos de exemplo:
DataFrame.reindex()
para Reindexar as Colunas -
Códigos de exemplo:
DataFrame.reindex()
Método para preencher os valores em falta comfill_value
-
Códigos de exemplo:
DataFrame.reindex()
para preencher os valores em falta utilizando o parâmetromethod
Python Pandas DataFrame.reindex()
função altera o índice de um DataFrame
. Ela altera os índices sobre o eixo especificado. Os novos índices não contêm valores. Ele fornece parâmetros opcionais para preencher estes valores.
Sintaxe de pandas.DataFrame.reindex()
DataFrame.dropna(
labels, index, columns, axis, method, copy, level, fill_value, limit, tolerance
)
Parâmetros
labels |
É uma estrutura array-like que contém os nomes dos novos índices. |
index, columns |
É uma estrutura array-like que contém os nomes dos novos índices. Deve ser especificada utilizando a palavra-chave index ou columns . |
axis |
É um inteiro ou um string . Ele informa sobre o eixo alvo, seja linhas ou colunas. Pode ser 0 ou index e 1 ou columns . |
method |
Este parâmetro especifica o método para preencher os valores em falta no DataFrame reindexado. Tem quatro possibilidades: None , backfill /bfill , pad /ffill , nearest . Apenas se aplica se nosso DataFrame ou Series tiver uma seqüência de um índice crescente ou decrescente. |
copy |
Booleano. Por padrão, é True . Ele retorna um novo objeto. |
level |
É um número inteiro ou um nome. Corresponde a valores de índice em um nível de índice múltiplo passado. |
fill_value |
Tem um valor de scalar . É o valor para preencher os valores em falta. |
limit |
É um inteiro . Ele informa sobre o limite dos elementos consecutivos enquanto preenche os valores em falta. |
tolerance |
Ele informa sobre a diferença entre os rótulos originais e os novos no caso de correspondências imprecisas. |
Retornar
Ele retorna um DataFrame
com os índices alterados.
Códigos de exemplo: DataFrame.reindex()
Por padrão, o eixo é 0
, ou seja, linhas, portanto, as linhas serão reindexadas.
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
print(dataframe)
O DataFrame demo é o seguinte.
Attendance Name Obtained Marks
0 60 Olivia 56
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67
Os índices em Python começam a partir de 0. Nós reindexaremos nosso DataFrame
e os novos índices começarão a partir de 1.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.reindex([1, 2, 3, 4, 5])
print(dataframe1)
Resultado:
Attendance Name Obtained Marks
1 100.0 John 75.0
2 80.0 Laura 82.0
3 75.0 Ben 64.0
4 95.0 Kevin 67.0
5 NaN NaN NaN
Aqui, 5 é um novo índice. Portanto, os valores do novo índice são NaN
.
Códigos de exemplo: DataFrame.reindex()
para Reindexar as Colunas
Há duas maneiras de reindexar as colunas. Uma é especificando etiquetas com a palavra-chave columns
e a outra é utilizando o parâmetro do eixo. A melhor é especificar os rótulos com a palavra-chave columns
.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.reindex(columns=["Presents", "Name", "Marks"])
print(dataframe1)
Resultado:
Presents Name Marks
0 NaN Olivia NaN
1 NaN John NaN
2 NaN Laura NaN
3 NaN Ben NaN
4 NaN Kevin NaN
O índice antigo é atribuído com os valores antigos. Os novos índices têm valores de NaN
.
Poderíamos também reindexar as colunas com o parâmetro axis
.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.reindex(["Presents", "Name", "Marks"], axis="columns")
print(dataframe1)
Códigos de exemplo: DataFrame.reindex()
Método para preencher os valores em falta com fill_value
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.reindex([1, 2, 3, 4, 5], fill_value=0)
print(dataframe1)
Resultado:
Attendance Name Obtained Marks
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67
5 0 0 0
Os valores em falta são agora preenchidos com 0.
Códigos de exemplo: DataFrame.reindex()
para preencher os valores em falta utilizando o parâmetro method
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.reindex([1, 2, 3, 4, 5], method="ffill")
print(dataframe1)
Resultado:
Attendance Name Obtained Marks
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67
5 95 Kevin 67
O método ffill
preencheu os valores em falta com o último valor disponível.