¿Cómo ordenar un marco de datos de Pandas según los nombres de columna o el índice de fila?

El método Pandas dataframe.sort_index()ordena los objetos por etiquetas a lo largo del eje dado. Básicamente, el algoritmo de clasificación se aplica en las etiquetas de los ejes en lugar de los datos reales en el marco de datos y, en función de eso, los datos se reorganizan. Tenemos la libertad de elegir qué algoritmo de clasificación nos gustaría aplicar. Hay tres posibles algoritmos de clasificación que podemos usar ‘quicksort’, ‘mergesort’ y ‘heapsort’.

Sintaxis: DataFrame.sort_index(axis=0, level=Ninguno, ascendente=True, inplace=False, kind=’quicksort’, na_position=’last’, sort_remaining=True, by=Ninguno)

Parámetros:
eje: p para el índice, 1 para las columnas para dirigir el nivel de clasificación :
si no es Ninguno , ordenar los valores en los niveles de índice especificados. marco de datos real de lo contrario, devuelve un marco de datos ordenado. tipo: {‘clasificación rápida’, ‘clasificación combinada’, ‘clasificación en montón’}, por defecto ‘clasificación rápida’. Elección del algoritmo de clasificación. Consulte también ndarray.np.sort para obtener más información. mergesort es el único algoritmo estable. Para DataFrames, esta opción solo se aplica cuando se ordena en una sola columna o etiqueta. posición_na :



[{‘first’, ‘last’}, default ‘last’] First pone NaNs al ​​principio, last pone NaNs al ​​final. No implementado para MultiIndex.
sort_remaining : si es verdadero y la ordenación por nivel e índice es multinivel, ordenar por otros niveles también (en orden) después de ordenar por nivel especificado

Retorno: sorted_obj: DataFrame

Cree un marco de datos simple con un diccionario de listas, digamos que los nombres de las columnas son: ‘Nombre’, ‘Edad’, ‘Lugar’ y ‘Colegio’.

# import pandas library as pd
import pandas as pd
  
# List of Tuples
students = [('Ankit', 22, 'Up', 'Geu'),
           ('Ankita', 31, 'Delhi', 'Gehu'),
           ('Rahul', 16, 'Tokyo', 'Abes'),
           ('Simran', 41, 'Delhi', 'Gehu'),
           ('Shaurya', 33, 'Delhi', 'Geu'),
           ('Harshita', 35, 'Mumbai', 'Bhu' ),
           ('Swapnil', 35, 'Mp', 'Geu'),
           ('Priya', 35, 'Uk', 'Geu'),
           ('Jeet', 35, 'Guj', 'Gehu'),
           ('Ananya', 35, 'Up', 'Bhu')
            ]
  
# Create a DataFrame object from
# list of tuples with columns
# and indices.
details = pd.DataFrame(students, columns =['Name', 'Age',
                                           'Place', 'College'],
                        index =[ 'b', 'c', 'a', 'e', 'f', 'g',
                                 'i', 'j', 'k', 'd'])
# show the dataframe
details

Producción:
dataframe

Ejemplo 1: ordenar las filas del marco de datos según los nombres de las etiquetas de índice de fila.

# import pandas library as pd
import pandas as pd
  
# List of Tuples
students = [('Ankit', 22, 'Up', 'Geu'),
           ('Ankita', 31, 'Delhi', 'Gehu'),
           ('Rahul', 16, 'Tokyo', 'Abes'),
           ('Simran', 41, 'Delhi', 'Gehu'),
           ('Shaurya', 33, 'Delhi', 'Geu'),
           ('Harshita', 35, 'Mumbai', 'Bhu' ),
           ('Swapnil', 35, 'Mp', 'Geu'),
           ('Priya', 35, 'Uk', 'Geu'),
           ('Jeet', 35, 'Guj', 'Gehu'),
           ('Ananya', 35, 'Up', 'Bhu')
            ]
  
# Create a DataFrame object from
# list of tuples with columns
# and indices.
details = pd.DataFrame(students, columns =['Name', 'Age', 
                                           'Place', 'College'],
                        index =[ 'b', 'c', 'a', 'e', 'f', 
                                'g', 'i', 'j', 'k', 'd'])
  
# sort the rows of dataframe 
# based on row index
rslt_df = details.sort_index()
  
# show the resultant Dataframe
rslt_df

Producción:
sort Dataframe-1

Ejemplo 2: ordenar las filas de un marco de datos en orden descendente en función de las etiquetas de índice de fila.

# import pandas library as pd
import pandas as pd
  
# List of Tuples
students = [('Ankit', 22, 'Up', 'Geu'),
           ('Ankita', 31, 'Delhi', 'Gehu'),
           ('Rahul', 16, 'Tokyo', 'Abes'),
           ('Simran', 41, 'Delhi', 'Gehu'),
           ('Shaurya', 33, 'Delhi', 'Geu'),
           ('Harshita', 35, 'Mumbai', 'Bhu' ),
           ('Swapnil', 35, 'Mp', 'Geu'),
           ('Priya', 35, 'Uk', 'Geu'),
           ('Jeet', 35, 'Guj', 'Gehu'),
           ('Ananya', 35, 'Up', 'Bhu')
            ]
  
# Create a DataFrame object from
# list of tuples with columns
# and indices.
details = pd.DataFrame(students, columns =['Name', 'Age',
                                           'Place', 'College'],
                        index =[ 'b', 'c', 'a', 'e', 'f', 
                                'g', 'i', 'j', 'k', 'd'])
  
# sort the rows of dataframe in descending 
# order based on row index 
rslt_df = details.sort_index(ascending = False)
  
# show the resultant Dataframe
rslt_df

Producción:
sort Dataframe-2

Ejemplo 3: ordenar filas de un marco de datos en función de las etiquetas de índice de fila en el lugar.

# import pandas library as pd
import pandas as pd
  
# List of Tuples
students = [('Ankit', 22, 'Up', 'Geu'),
           ('Ankita', 31, 'Delhi', 'Gehu'),
           ('Rahul', 16, 'Tokyo', 'Abes'),
           ('Simran', 41, 'Delhi', 'Gehu'),
           ('Shaurya', 33, 'Delhi', 'Geu'),
           ('Harshita', 35, 'Mumbai', 'Bhu' ),
           ('Swapnil', 35, 'Mp', 'Geu'),
           ('Priya', 35, 'Uk', 'Geu'),
           ('Jeet', 35, 'Guj', 'Gehu'),
           ('Ananya', 35, 'Up', 'Bhu')
            ]
  
# Create a DataFrame object from
# list of tuples with columns
# and indices.
details = pd.DataFrame(students, columns =['Name', 'Age',
                                           'Place', 'College'],
                        index =[ 'b', 'c', 'a', 'e', 'f', 
                                'g', 'i', 'j', 'k', 'd'])
  
# sort the rows of dataframe in Place 
# based on row index 
details.sort_index(inplace = True)
  
# show the resultant Dataframe
details

Producción:
sort Dataframe-3

Ejemplo 4: ordenar las columnas de un marco de datos en función de los nombres de las columnas.

# import pandas library as pd
import pandas as pd
  
# List of Tuples
students = [('Ankit', 22, 'Up', 'Geu'),
           ('Ankita', 31, 'Delhi', 'Gehu'),
           ('Rahul', 16, 'Tokyo', 'Abes'),
           ('Simran', 41, 'Delhi', 'Gehu'),
           ('Shaurya', 33, 'Delhi', 'Geu'),
           ('Harshita', 35, 'Mumbai', 'Bhu' ),
           ('Swapnil', 35, 'Mp', 'Geu'),
           ('Priya', 35, 'Uk', 'Geu'),
           ('Jeet', 35, 'Guj', 'Gehu'),
           ('Ananya', 35, 'Up', 'Bhu')
            ]
  
# Create a DataFrame object from
# list of tuples with columns
# and indices.
details = pd.DataFrame(students, columns =['Name', 'Age', 
                                           'Place', 'College'],
                        index =[ 'b', 'c', 'a', 'e', 'f', 
                                'g', 'i', 'j', 'k', 'd'])
  
# sort a dataframe based on column names
rslt_df = details.sort_index(axis = 1)
  
# show the resultant Dataframe
rslt_df

Producción:
sort Dataframe-4

Ejemplo 5: ordenar un marco de datos en orden descendente según los nombres de las columnas.

# import pandas library as pd
import pandas as pd
  
# List of Tuples
students = [('Ankit', 22, 'Up', 'Geu'),
           ('Ankita', 31, 'Delhi', 'Gehu'),
           ('Rahul', 16, 'Tokyo', 'Abes'),
           ('Simran', 41, 'Delhi', 'Gehu'),
           ('Shaurya', 33, 'Delhi', 'Geu'),
           ('Harshita', 35, 'Mumbai', 'Bhu' ),
           ('Swapnil', 35, 'Mp', 'Geu'),
           ('Priya', 35, 'Uk', 'Geu'),
           ('Jeet', 35, 'Guj', 'Gehu'),
           ('Ananya', 35, 'Up', 'Bhu')
            ]
  
# Create a DataFrame object from
# list of tuples with columns
# and indices.
details = pd.DataFrame(students, columns =['Name', 'Age', 
                                           'Place', 'College'],
                        index =[ 'b', 'c', 'a', 'e', 'f', 
                                'g', 'i', 'j', 'k', 'd'])
  
# sort a dataframe in descending 
# order based on column names
rslt_df = details.sort_index(ascending = False, axis = 1)
  
# show the resultant Dataframe
rslt_df

Producción:
sort Dataframe-5

Ejemplo 6: ordenar un marco de datos en su lugar según los nombres de las columnas.

# import pandas library as pd
import pandas as pd
  
# List of Tuples
students = [('Ankit', 22, 'Up', 'Geu'),
           ('Ankita', 31, 'Delhi', 'Gehu'),
           ('Rahul', 16, 'Tokyo', 'Abes'),
           ('Simran', 41, 'Delhi', 'Gehu'),
           ('Shaurya', 33, 'Delhi', 'Geu'),
           ('Harshita', 35, 'Mumbai', 'Bhu' ),
           ('Swapnil', 35, 'Mp', 'Geu'),
           ('Priya', 35, 'Uk', 'Geu'),
           ('Jeet', 35, 'Guj', 'Gehu'),
           ('Ananya', 35, 'Up', 'Bhu')
            ]
  
# Create a DataFrame object from
# list of tuples with columns
# and indices.
details = pd.DataFrame(students, columns =['Name', 'Age', 
                                           'Place', 'College'],
                        index =[ 'b', 'c', 'a', 'e', 'f', 
                                'g', 'i', 'j', 'k', 'd'])
  
# sort a dataframe in place 
# based on column names
details.sort_index(inplace = True, axis = 1)
  
# show the resultant Dataframe
details

Producción:
sort Dataframe-6

Publicación traducida automáticamente

Artículo escrito por ankthon 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 *