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)
Explication du code :
import pandas as pd
importe la bibliothèque pandas, renommée ici enpd
, 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 valeursLa méthode
map()
permet d’appliquer une transformation élément par élément à une colonne de typeSeries
.df['prix_ajusté'] = df['prix'].map(lambda x: x + 5)
applique une fonctionlambda
à 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 dictionnairedf['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 parNaN
(valeur manquante).Affichage du DataFrame
print(df)
affiche le contenu duDataFrame
avec les colonnes modifiées ou ajoutées ('prix_ajusté'
et'produit'
).