Reindexación en Pandas DataFrame

La reindexación en Pandas se puede usar para cambiar el índice de filas y columnas de un DataFrame. Los índices se pueden usar con referencia a muchas estructuras de datos de índice asociadas con varias series de pandas o tramas de datos de pandas. Veamos cómo podemos reindexar las columnas y filas en Pandas DataFrame. 

Reindexando las filas

Se puede volver a indexar una sola fila o varias filas utilizando el método reindex(). Los valores predeterminados en el nuevo índice que no están presentes en el marco de datos se asignan a NaN.

Ejemplo 1:  

Python3

# import numpy and pandas module
import pandas as pd
import numpy as np
 
column=['a','b','c','d','e']
index=['A','B','C','D','E']
 
# create a dataframe of random values of array
df1 = pd.DataFrame(np.random.rand(5,5),
            columns=column, index=index)
 
print(df1)
 
print('\n\nDataframe after reindexing rows: \n',
df1.reindex(['B', 'D', 'A', 'C', 'E']))

Producción: 

Ejemplo #2:  

Python3

# import numpy and pandas module
import pandas as pd
import numpy as np
 
column = ['a', 'b', 'c', 'd', 'e']
index = ['A', 'B', 'C', 'D', 'E']
  
# create a dataframe of random values of array
df1 = pd.DataFrame(np.random.rand(5, 5),
        columns = column, index = index)
 
# create the new index for rows
new_index =['U', 'A', 'B', 'C', 'Z']
 
print(df1.reindex(new_index))

Producción: 

 Reindexando las columnas usando la palabra clave del eje

Se puede volver a indexar una sola columna o varias columnas utilizando el método reindex() y especificando el eje que queremos volver a indexar. Los valores predeterminados en el nuevo índice que no están presentes en el marco de datos se asignan a NaN.

Ejemplo 1:  

Python3

# import numpy and pandas module
import pandas as pd
import numpy as np
 
column=['a','b','c','d','e']
index=['A','B','C','D','E']
 
#create a dataframe of random values of array
df1 = pd.DataFrame(np.random.rand(5,5),
           columns=column, index=index)
 
column=['e','a','b','c','d']
  
# create the new index for columns
print(df1.reindex(column, axis='columns'))

Producción: 

Ejemplo #2:  

Python3

# import numpy and pandas module
import pandas as pd
import numpy as np
 
column =['a', 'b', 'c', 'd', 'e']
index =['A', 'B', 'C', 'D', 'E']
  
# create a dataframe of random values of array
df1 = pd.DataFrame(np.random.rand(5, 5),
        columns = column, index = index)
 
column =['a', 'b', 'c', 'g', 'h']
 
# create the new index for columns
print(df1.reindex(column, axis ='columns'))

Producción: 

Reemplazando los valores faltantes

Código n.º 1: los valores faltantes del marco de datos se pueden completar pasando un valor a la palabra clave fill_value. Esta palabra clave reemplaza los valores de NaN. 

Python3

# import numpy and pandas module
import pandas as pd
import numpy as np
 
column =['a', 'b', 'c', 'd', 'e']
index =['A', 'B', 'C', 'D', 'E']
  
# create a dataframe of random values of array
df1 = pd.DataFrame(np.random.rand(5, 5),
        columns = column, index = index)
 
column =['a', 'b', 'c', 'g', 'h']
 
# create the new index for columns
print(df1.reindex(column, axis ='columns', fill_value = 1.5))

Producción: 

Código #2: Reemplazar los datos que faltan con una string. 

Python3

# import numpy and pandas module
import pandas as pd
import numpy as np
 
column =['a', 'b', 'c', 'd', 'e']
index =['A', 'B', 'C', 'D', 'E']
  
# create a dataframe of random values of array
df1 = pd.DataFrame(np.random.rand(5, 5),
       columns = column, index = index)
 
column =['a', 'b', 'c', 'g', 'h']
 
# create the new index for columns
print(df1.reindex(column, axis ='columns', fill_value ='data missing'))

Producción: 

Publicación traducida automáticamente

Artículo escrito por MRINALWALIA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *