Comment utiliser la méthode assign() dans Pandas (avec exemples)
La méthode assign() peut être utilisée pour ajouter de nouvelles colonnes à un DataFrame pandas.
Cette méthode utilise la syntaxe de base suivante :
df.assign(new_column = values)
Il est important de noter que cette méthode affichera uniquement le nouveau DataFrame sur la console, mais ne modifiera pas réellement le DataFrame d’origine.
Pour modifier le DataFrame d’origine, vous devrez stocker les résultats de la méthode assign() dans une nouvelle variable.
Les exemples suivants montrent comment utiliser la méthode assign() de différentes manières avec le DataFrame pandas suivant :
import pandas as pd #define DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print(df) points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Exemple 1 : attribuer une nouvelle variable à DataFrame
Le code suivant montre comment utiliser la méthode assign() pour ajouter une nouvelle variable au DataFrame appelée points2 dont les valeurs sont égales aux valeurs de la colonne points multipliées par deux :
#add new variable called points2
df.assign(points2 = df.points * 2)
points assists rebounds points2
0 25 5 11 50
1 12 7 8 24
2 15 7 10 30
3 14 9 6 28
4 19 12 6 38
5 23 9 5 46
6 25 9 9 50
7 29 4 12 58
Notez que cette méthode assign() ne modifie pas le DataFrame d’origine.
Si nous imprimons le DataFrame original, nous verrons qu’il reste inchangé :
#print original DataFrame print(df) points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Pour sauvegarder les résultats de la méthode assign() , nous pouvons stocker les résultats dans un nouveau DataFrame :
#add new variable called points2 and save results in new DataFrame
df.assign(points2 = df.points * 2)
#view new DataFrame
print(df_new)
points assists rebounds points2
0 25 5 11 50
1 12 7 8 24
2 15 7 10 30
3 14 9 6 28
4 19 12 6 38
5 23 9 5 46
6 25 9 9 50
7 29 4 12 58
Le nouveau DataFrame appelé df_new contient désormais la colonne points2 que nous avons créée.
Exemple 2 : attribuer plusieurs nouvelles variables à DataFrame
Le code suivant montre comment utiliser la méthode assign() pour ajouter trois nouvelles variables au DataFrame :
#add three new variables to DataFrame and store results in new DataFrame df_new = df.assign(points2 = df.points * 2, assists_rebs = df.assists + df.rebounds, conference = 'Western') #view new DataFrame print(df_new) points assists rebounds points2 assists_rebs conference 0 25 5 11 50 16 Western 1 12 7 8 24 15 Western 2 15 7 10 30 17 Western 3 14 9 6 28 15 Western 4 19 12 6 38 18 Western 5 23 9 5 46 14 Western 6 25 9 9 50 18 Western 7 29 4 12 58 16 Western
Notez que trois nouvelles colonnes ont été ajoutées au DataFrame.
Remarque : Vous pouvez trouver la documentation complète de la méthode pandas assign() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans les pandas :
Comment utiliser la fonction décrire() dans Pandas
Comment utiliser la fonction idxmax() dans Pandas
Comment appliquer une fonction aux colonnes sélectionnées dans Pandas