"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment trier un DataFrame Pandas par plusieurs colonnes par ordre croissant et décroissant ?

Comment trier un DataFrame Pandas par plusieurs colonnes par ordre croissant et décroissant ?

Publié le 2024-12-22
Parcourir:575

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

Tri d'une trame de données Pandas par plusieurs colonnes

Tri d'une trame de données Pandas par plusieurs colonnes est une opération courante dans l'analyse des données. Considérons une trame de données avec les colonnes « a », « b » et « c ». Pour trier cette trame de données par colonne « b » par ordre croissant et colonne « c » par ordre décroissant, suivez ces étapes :

À partir de la version 0.17.0 de Pandas, la méthode de tri est obsolète au profit de sort_values. Depuis la version 0.20.0, le tri a été complètement supprimé. Cependant, les arguments et les résultats restent inchangés :

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

Une manière équivalente utilisant le tri obsolète la méthode est :

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

Par exemple, considérons une trame de données df1 avec des valeurs entières aléatoires dans les colonnes « a » et « b » :

import pandas as pd
import numpy as np

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

Tri de cette trame de données par 'a' dans l'ordre croissant ordre et 'b' par ordre décroissant donne :

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

N'oubliez pas que la méthode de tri n'est pas en place par défaut. Pour mettre à jour df1 avec les valeurs triées, attribuez le résultat de la méthode de tri à df1 ou utilisez inplace=True dans l'appel de méthode :

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

ou

df1.sort(['a', 'b'], ascending=[True, False], inplace=True)
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3