"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo ordenar un marco de datos de Pandas por varias columnas en orden ascendente y descendente?

¿Cómo ordenar un marco de datos de Pandas por varias columnas en orden ascendente y descendente?

Publicado el 2024-12-22
Navegar:383

How to Sort a Pandas DataFrame by Multiple Columns in Ascending and Descending Order?

Ordenar un marco de datos de Pandas por varias columnas

Ordenar un marco de datos de Pandas por varias columnas es una operación común en el análisis de datos. Considere un marco de datos con las columnas 'a', 'b' y 'c'. Para ordenar este marco de datos por la columna 'b' en orden ascendente y la columna 'c' en orden descendente, siga estos pasos:

A partir de la versión 0.17.0 de Pandas, el método sort ha quedado obsoleto en favor de sort_values. A partir de la versión 0.20.0, la clasificación se eliminó por completo. Sin embargo, los argumentos y los resultados permanecen sin cambios:

df.sort_values(['a', 'b'], ascending=[True, False])

Una forma equivalente usando la clasificación obsoleta El método es:

df.sort(['a', 'b'], ascending=[True, False])

Por ejemplo, considere un marco de datos df1 con valores enteros aleatorios en las columnas 'a' y 'b':

import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.random.randint(1, 5, (10, 2)), columns=['a', 'b'])

Ordenar este marco de datos por 'a' en orden ascendente orden y 'b' en orden descendente da:

df1.sort(['a', 'b'], ascending=[True, False])
   a  b
2  1  4
7  1  3
1  1  2
3  1  2
4  3  2
6  4  4
0  4  3
9  4  3
5  4  1
8  4  1

Recuerde que el método de clasificación no está implementado de forma predeterminada. Para actualizar df1 con los valores ordenados, asigne el resultado del método de clasificación a df1 o use inplace=True en la llamada al método:

df1 = df1.sort(['a', 'b'], ascending=[True, False])

o

df1.sort(['a', 'b'], ascending=[True, False], inplace=True)
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3