Reindexación en Pandas DataFrame

| | | | | | | | | | | | | | | |

La reindexación en Pandas se puede usar para cambiar el índice de filas y columnas en un DataFrame. Los índices se pueden usar con referencia a múltiples índices de DataStructure asociados con múltiples series panda o panda DataFrame. Veamos cómo podemos reindexar columnas y filas en un Pandas DataFrame.

Reindexar filas

Puedes reindexar una o más filas usando reindex() . Los valores predeterminados ‚Äã‚Äãen el nuevo índice que no están en el marco de datos se asignan NaN.

Ejemplo # 1:


# importar módulo numpy y pandas

importar pandas como pd

import numpy as np


columna = [ `a ` , ` b` , `c` , ` d` , `e` ]

índice = [ `A` , ` B` , `C ` , ` D` , `E` ]


# crear un marco de datos de valores de matriz aleatorios ​​

df1 = pd.DataFrame (np.random.rand ( 5 , < /código> 5 ),

columnas = columna, índice = índice )

print (df1)


print ( `Dataframe after reindexing rows:` < código clase = "simple">,

df1.reindex ([ `B` , ` D` , ` A` , `C` , `E` ]))

Salida :

Ejemplo n.º 2:


# importar módulos numpy y pandas

import pandas as pd

import numpy como np


columna = [ < código clase = "cadena"> `a` , ` b` , `c` , ` d` , `e` ]

índice = [ `A` , `B` , ` C` , `D` , ` E ` ]


# crear datos fr nombre de valores de matriz aleatorios ​​

df1 = pd.DataFrame (np.random.rand ( 5 , 5 ),

columnas = columna, índice = índice )


# crear un nuevo índice para filas

nuevo_índice = [ `U` , < clase de código ="cadena ">` A` , `B` , ` C` , `Z ` ]


print (df1.reindex (nuevo_índice))

Salida:

Reindexación de columnas usando la palabra clave axis

Es posible reindexar una columna o varias columnas usando reindex() y especificando el eje que queremos reindexar. Los valores predeterminados ‚Äã‚Äãen el nuevo índice que no están en el marco de datos se asignan NaN.

Ejemplo # 1:


# importar módulo numpy y pandas

importar pandas como pd

import numpy as np


columna = [ `a ` , ` b` , `c` , ` d` , `e` ]

índice = [ `A` , ` B` , `C ` , ` D` , `E` ]


# crear un marco de datos de valores de matriz aleatorios ​​

df1 = pd.DataFrame (np.random.rand ( 5 , < /código> 5 ),

columnas = columna, índice = índice )

colum = [ `e` , ` a` , `b` , `c` , ` d` ]


# crear un nuevo índice para las columnas

imprimir (df1.reindex (columna, eje = ` columnas` ))

Salida:

Ejemplo # 2:


Resultado:

Reemplazo de valores faltantes ​​

Código n.º 1: Puede completar los valores faltantes ‚Äã‚Äãde un marco de datos pasando un valor a la palabra clave fill_value . Esta palabra clave reemplaza los valores de NaN.


# import numpy and pandas module

importar pandas como pd

importar numpy como np


columna = [ ` a` , `b` , ` c` , ` d` , ` e` ]

índice = [ ` A` , `B` , ` C` , `D` , ` E` ]


# crear un marco de datos de valores de matriz aleatorios ​​

df1 = pd.DataFrame (np.random.rand ( 5 , 5 ),

columnas = columna, índice = índice)


columna = [ `a` , ` b` , `c` , `g` < /código> , `h` ]


# crear un nuevo índice para las columnas

imprimir (df1.reindex (columna, eje = `columnas` , valor_de_relleno = 1.5 ))

# import numpy and pandas module

importar pandas como pd

importar numpy as np


columna = [ `a` , `b` , ` c` , ` d` , `e` ]

índice = [ `A` , ` B` , < /código> `C` , ` D` , `E` ]


# crear un marco de datos de valores de matriz aleatorios ​​

df1 < clase de código = "palabra clave"> = pd.DataFrame (np.random.rand ( 5 , 5 ),

columnas = columna, índice = índice)


columna = [ `a` , ` b` , `c` , ` g` , ` h` ]


# crear un nuevo índice para las columnas

imprimir (df1.reindex (columna, eje) = `columnas` ))

Salida:

Código n.º 2: Reemplace los datos faltantes con una cadena.


# importar módulo numpy y pandas

import pandas como pd

import numpy as np


columna = [ `a` , ` b` , ` c` , ` d` , `e` ]

índice = [ `A` , `B` , < clase de código ="cadena ">` C` , `D` , `E` ]


# crear un marco de datos de valores de matriz aleatorios ​​

df1 = pd.DataFrame (np.random.rand ( 5 , 5 ),

columnas = columna, índice = índice)


columna = [ `a` , `b` , ` c` , ` g` , `h` ]


# crear un nuevo índice para las columnas

print (df1.reindex (columna, eje = `columnas` , fill_value = ` datos falta` ))

Salida: