Trier les valeurs d’une colonne

Dans le traitement des données, il est souvent nécessaire de classer les enregistrements en fonction des valeurs d’une colonne spécifique. Trier une colonne permet d’organiser les données selon un ordre précis, ce qui facilite l’analyse, la comparaison et la visualisation. Ce classement peut être effectué dans l’ordre croissant ou décroissant selon les besoins, et sert à mieux comprendre la distribution ou à prioriser certaines observations.

Fonctions :

  • sort_values(by='colonne')

    La méthode sort_values(by='colonne') permet de trier les valeurs d’une colonne spécifique dans un DataFrame. Vous pouvez trier les données de manière ascendante ou descendante en fonction de vos besoins. Cette méthode est particulièrement utile pour organiser des données en fonction de critères précis et effectuer des analyses plus claires.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Description
    by Le nom de la colonne sur laquelle effectuer le tri.
    ascending Booléen qui définit l'ordre du tri : True pour un tri ascendant (par défaut) et False pour un tri descendant.
    inplace Booléen qui permet de modifier le DataFrame en place. Si True, le DataFrame est modifié sans création d’une nouvelle copie. Par défaut, False.

    Exemple de code :

    import pandas as pd
    
    # Exemple de DataFrame
    data = {
        'nom': ['Alice', 'Bob', 'Charlie', 'David'],
        'âge': [24, 30, 35, 40],
        'score': [88, 92, 75, 85],
        'ville': ['Paris', 'Lyon', 'Marseille', 'Paris']
    }
    df = pd.DataFrame(data)
    
    # Trier les valeurs de la colonne 'âge' de manière ascendante
    df_ascendant = df.sort_values(by='âge', ascending=True)
    print("DataFrame trié par âge (ascendant) :")
    print(df_ascendant)
    
    # Trier les valeurs de la colonne 'score' de manière descendante
    df_descendant = df.sort_values(by='score', ascending=False)
    print("\nDataFrame trié par score (descendant) :")
    print(df_descendant)
    
    # Trier en place et modifier directement le DataFrame
    df.sort_values(by='nom', ascending=True, inplace=True)
    print("\nDataFrame trié par nom (ascendant) en place :")
    print(df)
    Résultat du code

    Explication du code :

    import pandas as pd importe la bibliothèque pandas, renommée en pd, pour manipuler des données tabulaires à l’aide de DataFrames.

    Création d’un DataFrame

    Le dictionnaire data contient quatre colonnes : nom, âge, score et ville. Il est transformé en DataFrame via pd.DataFrame(data) et stocké dans la variable df.

    Trier par âge de manière ascendante

    La méthode sort_values() permet de trier un DataFrame selon une ou plusieurs colonnes. Le paramètre by='âge' indique la colonne utilisée pour le tri.

    ascending=True précise que le tri est effectué par ordre croissant.

    df_ascendant = df.sort_values(by='âge', ascending=True) retourne un nouveau DataFrame trié sans modifier l’original.

    Trier par score de manière descendante

    De la même manière, df.sort_values(by='score', ascending=False) trie le DataFrame selon la colonne score mais dans l’ordre décroissant, grâce au paramètre ascending=False.

    Le résultat est stocké dans df_descendant et affiché.

    Tri en place par nom

    Le tri peut aussi être appliqué directement sur le DataFrame d’origine en utilisant le paramètre inplace=True.

    df.sort_values(by='nom', ascending=True, inplace=True) trie le DataFrame df par la colonne nom en ordre croissant, en modifiant directement l’objet.