En Python pandas, la méthode assign() est utilisée pour ajouter de nouvelles colonnes à un objet DataFrame. Il prend un dictionnaire de paires clé-valeur comme argument, où les clés sont les noms des nouvelles colonnes et les valeurs sont des listes ou des tableaux contenant les données de ces colonnes. La méthode assign() renvoie un nouvel objet DataFrame avec les colonnes ajoutées, mais elle ne modifie pas l'objet DataFrame d'origine.
Voici un exemple d'utilisation de la méthode assign():
Exemple
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import pandas as ps # Create a DataFrame with two columns: 'name' and 'age' df = ps.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}) # Use the assign() method to add a new column called 'gender' df_new = df.assign(gender=['F', 'M', 'M']) # The original DataFrame object is unchanged print(df) # The new DataFrame object includes the added column print(df_new) """ output: name age 0 Alice 25 1 Bob 30 2 Charlie 35 name age gender 0 Alice 25 F 1 Bob 30 M 2 Charlie 35 M """ |
Vous pouvez également utiliser la méthode assign() pour ajouter plusieurs colonnes à la fois en lui transmettant plusieurs paires clé-valeur.
Exemple
1 2 3 4 5 6 7 8 9 10 11 12 |
# Use the assign() method to add two new columns: 'gender' and 'country' df_new = df.assign(gender=['F', 'M', 'M'], country=['USA', 'UK', 'France']) # The new DataFrame object includes the added columns print(df_new) """ output name age gender country 0 Alice 25 F USA 1 Bob 30 M UK 2 Charlie 35 M France """ |
Remarque
Notez que la méthode assign() n'est pas en place, elle renvoie donc un nouvel objet DataFrame avec les colonnes ajoutées plutôt que de modifier l'objet d'origine. Si vous souhaitez modifier l'objet DataFrame d'origine sur place, vous pouvez utiliser la méthode assign() en combinaison avec le paramètre inplace=True.
1 2 3 4 5 6 7 8 9 10 11 12 |
# Use the assign() method with inplace=True to add a new column to the original DataFrame object df.assign(gender=['F', 'M', 'M'], inplace=True) # The original DataFrame object has been modified and now includes the added column print(df) """ output: name age gender 0 Alice 25 F 1 Bob 30 M 2 Charlie 35 M """ |
Younes Derfoufi
CRMEF OUJDA