Función Pandas DataFrame DataFrame.reindex()
-
La sintaxis de
pandas.DataFrame.reindex()
-
Códigos de ejemplo:
DataFrame.reindex()
-
Códigos de ejemplo:
DataFrame.reindex()
para reindexar las columnas -
Códigos de ejemplo:
DataFrame.reindex()
Método para llenar los valores que faltan confill_value
-
Códigos de ejemplo:
DataFrame.reindex()
para llenar los valores faltantes usando el parámetromethod
La función Python Pandas DataFrame.reindex()
cambia el índice de un DataFrame
. Cambia los índices sobre el eje especificado. Los nuevos índices no contienen valores. Proporciona parámetros opcionales para rellenar estos valores.
La sintaxis de pandas.DataFrame.reindex()
DataFrame.dropna(
labels, index, columns, axis, method, copy, level, fill_value, limit, tolerance
)
Parámetros
labels |
Es una estructura tipo matriz que contiene los nombres de los nuevos índices. |
index, columns |
Es una estructura tipo matriz que contiene los nombres de los nuevos índices. Debe ser especificada usando la palabra clave index o fila. |
axis |
Es un entero o una cadena de caracteres. Dice sobre el eje objetivo ya sea filas o columnas. Puede ser 0 o index y 1 o columns . |
method |
Este parámetro especifica el método para rellenar los valores que faltan en el reindexado DataFrame . Tiene cuatro posibilidades: None , backfill /bfill , pad /ffill , nearest . <Sólo se aplica si nuestro DataFrame o Series tiene una secuencia de un índice creciente o decreciente. |
copy |
Booleano. Por defecto, es True . Devuelve un nuevo objeto. |
level |
Es un número entero o un nombre. Coincide con los valores de los índices en un nivel de multiíndice pasado. |
fill_value |
Tiene un valor scalar. Es el valor para llenar los valores que faltan. |
limit |
Es un entero. Habla del límite de los elementos consecutivos mientras llena los valores que faltan. |
tolerance |
Habla de la diferencia entre la etiqueta original y la nueva en caso de coincidencias inexactas. |
Retorna
Devuelve un DataFrame
con los índices cambiados.
Códigos de ejemplo: DataFrame.reindex()
Por defecto, el eje es 0
es decir, filas, por lo que las filas serán 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)
El DataFrame de demostración es el siguiente.
Attendance Name Obtained Marks
0 60 Olivia 56
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67
Los índices en Python comienzan en 0. Reindexaremos nuestro DataFrame
y los nuevos índices comenzarán en 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
Aquí, 5 es un nuevo índice. Por lo tanto, los valores del nuevo índice son NaN
.
Códigos de ejemplo: DataFrame.reindex()
para reindexar las columnas
Hay dos formas de reindexar las columnas. Una es especificando etiquetas con la palabra clave columns
y la otra es usando el parámetro del eje. La mejor es especificar las etiquetas con la palabra clave 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
El índice antiguo se asigna con los valores antiguos. Los nuevos índices tienen valores NaN
.
También podríamos reindexar las columnas con el 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 ejemplo: DataFrame.reindex()
Método para llenar los valores que faltan con 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
Los valores que faltaban se rellenan ahora con 0.
Códigos de ejemplo: DataFrame.reindex()
para llenar los valores faltantes usando el 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
El método ffill
ha llenado los valores faltantes de adelante con el último valor disponible.