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