Maison > développement back-end > Tutoriel Python > 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 ?

Linda Hamilton
Libérer: 2024-12-15 08:49:09
original
186 Les gens l'ont consulté

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

Le 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])
Copier après la connexion

Une méthode équivalente utilisant la méthode de tri obsolète est :

df.sort(['a', 'b'], ascending=[True, False])
Copier après la connexion

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'])
Copier après la connexion

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

df1.sort(['a', 'b'], ascending=[True, False])
Copier après la connexion
   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
Copier après la connexion

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])
Copier après la connexion

ou

df1.sort(['a', 'b'], ascending=[True, False], inplace=True)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal