Utiliser map() pour transformer une colonne

La méthode map() est utilisée pour appliquer une fonction à chaque élément d’une colonne d’un DataFrame. Elle permet de transformer les valeurs d’une colonne de manière simple, en remplaçant les éléments par les résultats retournés par la fonction ou en utilisant un dictionnaire pour effectuer une correspondance de valeurs.

Fonctions :

  • map()

    La méthode map() permet d'appliquer une fonction à chaque élément d'une série (ou colonne d'un DataFrame). Elle est particulièrement utile pour effectuer des transformations simples ou remplacer des valeurs dans une colonne en utilisant une fonction ou un dictionnaire de correspondance. Contrairement à apply(), map() est généralement utilisée pour des transformations plus directes sur une seule colonne.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Type Description Valeur par défaut
    df['colonne'] Series La colonne du DataFrame sur laquelle la transformation sera appliquée. None
    map(fonction) function, dict La fonction à appliquer. Peut être une fonction prédéfinie, une fonction lambda, ou un dictionnaire de correspondance. None

    Exemple de code :

    import pandas as pd
    
    # Exemple de DataFrame
    data = {
        'produit': ['A', 'B', 'C', 'D'],
        'prix': [10, 20, 30, 40]
    }
    df = pd.DataFrame(data)
    
    # Utiliser map() pour appliquer une transformation : ajouter 5 à chaque prix
    df['prix_ajusté'] = df['prix'].map(lambda x: x + 5)
    
    # Utiliser map() avec un dictionnaire
    df['produit'] = df['produit'].map({'A': 'Produit Alpha', 'B': 'Produit Beta', 'C': 'Produit Gamma'})
    
    print(df)
    Résultat du code

    Explication du code :

    import pandas as pd importe la bibliothèque pandas, renommée ici en pd, pour la manipulation de structures de données comme les DataFrames.

    Création d’un DataFrame

    Le dictionnaire data contient deux clés : 'produit' et 'prix', chacune associée à une liste de valeurs.

    df = pd.DataFrame(data) crée un DataFrame nommé df à partir de ce dictionnaire, où chaque paire clé/valeurs devient une colonne du tableau.

    Utilisation de map() pour transformer les valeurs

    La méthode map() permet d’appliquer une transformation élément par élément à une colonne de type Series.

    df['prix_ajusté'] = df['prix'].map(lambda x: x + 5) applique une fonction lambda à chaque valeur de la colonne 'prix' afin d’ajouter 5 à chaque prix. Le résultat est stocké dans une nouvelle colonne 'prix_ajusté'.

    Utilisation de map() avec un dictionnaire

    df['produit'] = df['produit'].map({'A': 'Produit Alpha', 'B': 'Produit Beta', 'C': 'Produit Gamma'}) remplace les valeurs de la colonne 'produit' selon les correspondances définies dans le dictionnaire. La valeur 'D' ne figurant pas dans le dictionnaire est remplacée par NaN (valeur manquante).

    Affichage du DataFrame

    print(df) affiche le contenu du DataFrame avec les colonnes modifiées ou ajoutées ('prix_ajusté' et 'produit').