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 disctionnaire
    df['produit'] = df['produit'].map({'A': 'Produit Alpha', 'B': 'Produit Beta', 'C': 'Produit Gamma'})
    
    print(df)

    Explication du code :

    • DataFrame : Un DataFrame simple contenant des informations sur des produits et leurs prix.
    • Transformation avec map() : La fonction lambda x: x + 5 est appliquée à chaque valeur de la colonne 'prix', ajoutant ainsi 5 à chaque prix pour créer une nouvelle colonne 'prix_ajusté'.

    Autre utilisation avec un dictionnaire :

    • Remplacer des valeurs spécifiques dans une colonne : Vous pouvez utiliser map() pour remplacer certaines valeurs dans une colonne en utilisant un dictionnaire de correspondance.

    Remarque :

    • Transformation rapide : map() est très rapide pour effectuer des transformations simples sur des colonnes.
    • Utilisation avec des fonctions ou des dictionnaires : Vous pouvez utiliser des fonctions lambda, des fonctions prédéfinies ou même un dictionnaire pour remplacer ou transformer les valeurs dans une colonne.