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