Maison >développement back-end >Tutoriel Python >Comment puis-je trier une colonne Pandas DataFrame en fonction d'un ordre personnalisé défini dans un dictionnaire ?

Comment puis-je trier une colonne Pandas DataFrame en fonction d'un ordre personnalisé défini dans un dictionnaire ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-28 06:57:10531parcourir

How Can I Sort a Pandas DataFrame Column Based on a Custom Order Defined in a Dictionary?

Personnalisation du tri des DataFrame avec un dictionnaire

Lorsque vous travaillez avec des Pandas DataFrames, vous pouvez rencontrer des situations dans lesquelles vous devez trier les données en fonction de critères personnalisés . Un scénario courant consiste à trier une colonne avec des valeurs qui représentent les mois en fonction d'un ordre prédéfini.

Pour y parvenir, une approche consiste à utiliser la série catégorielle introduite dans Pandas 0.15. En convertissant la colonne des mois en une série catégorielle et en spécifiant l'ordre souhaité, vous pouvez vous assurer que le tri fonctionne selon l'arrangement défini.

Par exemple, considérons un DataFrame avec une colonne nommée « m » contenant les noms des mois :

import pandas as pd

df = pd.DataFrame([[1, 2, 'March'],[5, 6, 'Dec'],[3, 4, 'April']], columns=['a','b','m'])

Pour trier la colonne « m » selon un ordre personnalisé, créez un dictionnaire avec le mois préféré ordering :

custom_dict = {'March':0, 'April':1, 'Dec':3}

Ensuite, convertissez la colonne « m » en une série catégorielle et spécifiez l'ordre personnalisé :

df['m'] = pd.Categorical(df['m'], 
                            ["March", "April", "Dec",], 
                            categories=["March", "April", "Dec"])

Enfin, trier le DataFrame par la colonne « m » suivez maintenant l'ordre personnalisé défini dans le dictionnaire :

df.sort_values("m")

Cette méthode fournit un moyen clair et pratique de trier les données en fonction de critères personnalisés au sein un DataFrame.

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!

Déclaration:
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