map de Pandas Python
Ce tutoriel explique comment nous pouvons remplacer les valeurs d’une série de pandas par une autre valeur en utilisant la méthode Series.map().
import pandas as pd
my_series = pd.Series([85, 87, 90, 89], index=["1", "2", "3", "4"])
print(my_series, "\n")
Production :
1 85
2 87
3 90
4 89
dtype: int64
Nous allons utiliser la série my_series affichée dans l’exemple ci-dessus pour expliquer le fonctionnement de la méthode map() dans Pandas.
pandas.Series.map()
Syntaxe
Series.map(arg, na_action=None)
Il renvoie un objet Series en remplaçant les valeurs de l’objet Series de l’appelant en fonction du paramètre arg. Le paramètre arg peut être une function, un dictionnaire ou un objet Series qui détermine quelles sont les nouvelles valeurs de l’objet Series.
Le paramètre na_action peut prendre comme valeur None ou 'ignore'. La valeur 'ignore' de na_action indique qu’il faut ignorer les valeurs de NaN de l’objet Series et ne rien leur faire.
Exemple : Utilisez la méthode map() pour une série de Pandas
import pandas as pd
my_series = pd.Series([85, 87, 90, 89], index=["1", "2", "3", "4"])
altered_series = my_series.map({85: 80, 87: 80, 90: 90, 89: 80})
print("Initial Series:")
print(my_series, "\n")
print("Altered Series:")
print(altered_series, "\n")
Production :
Initial Series:
1 85
2 87
3 90
4 89
dtype: int64
Altered Series:
1 80
2 80
3 90
4 80
dtype: int64
Il substitue les éléments de la my_series en fonction des valeurs spécifiées dans le dictionnaire passé en argument à la méthode map().
Nous pouvons également utiliser des fonctions pour changer les valeurs de la série Pandas en utilisant la méthode map().
import pandas as pd
my_series = pd.Series([85, 87, 90, 89], index=["1", "2", "3", "4"])
altered_series = my_series.map(lambda x: str(x) + ".00")
print("Initial Series:")
print(my_series, "\n")
print("Altered Series:")
print(altered_series, "\n")
Production :
Initial Series:
1 85
2 87
3 90
4 89
dtype: int64
Altered Series:
1 85.00
2 87.00
3 90.00
4 89.00
dtype: object
Elle prend chaque élément de my_series et ajoute .00 à la fin de chaque élément de my_series.
Exemple : Utilisez la méthode map() pour modifier une colonne particulière d’un DataFrame
import pandas as pd
df_1 = pd.DataFrame(
{
"Column 1": [85, 87, 90, 89],
"Column 2": [55, 54, 56, 66],
"Column 3": [23, 95, 65, 45],
},
index=["1", "2", "3", "4"],
)
print("Initial DataFrame:")
print(df_1, "\n")
df_1["Column 1"] = df_1["Column 1"].map(lambda x: x * 10)
print("DataFrame after changing Column 1:")
print(df_1)
Production :
Initial DataFrame:
Column 1 Column 2 Column 3
1 85 55 23
2 87 54 95
3 90 56 65
4 89 66 45
DataFrame after changing Column 1:
Column 1 Column 2 Column 3
1 850 55 23
2 870 54 95
3 900 56 65
4 890 66 45
Il appliquera la fonction lambda uniquement à la Colonne 1 du DataFrame en utilisant la méthode map(). Comme une seule colonne est un objet Series, nous pouvons utiliser la méthode map() avec une colonne de DataFrame. Nous assignons alors l’objet Series retourné par la méthode map() à la Column 1 du DataFrame df_1. De cette façon, nous pouvons changer les valeurs de la colonne particulière seulement d’un DataFrame.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn