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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *