Les DataFrames Pandas sont essentiels pour la manipulation de données en Python. L’ajout de nouvelles colonnes est une tâche courante, et Pandas offre plusieurs moyens efficaces pour y parvenir. Cet article explore quatre méthodes clés, en soulignant leurs forces et leurs faiblesses pour vous aider à choisir la meilleure approche pour votre situation.
Table des matières
Méthode de l’opérateur []: La manière rapide et facile
C’est la méthode la plus simple, idéale pour ajouter des colonnes basées sur des données existantes ou des calculs simples. Vous affectez directement des valeurs à une nouvelle colonne à l’aide de crochets.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)
df['City'] = ['New York', 'London', 'Paris']
print(df)
Limitations : Cette méthode ne permet pas d’insérer à une position spécifique et exige que les données de la nouvelle colonne correspondent à la longueur du DataFrame.
Méthode df.insert()
: Placement précis des colonnes
df.insert()
offre plus de contrôle, vous permettant de spécifier l’index (position) de la colonne. Elle prend trois arguments : la position, le nom de la colonne et les données.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)
df.insert(1, 'City', ['New York', 'London', 'Paris'])
print(df)
Idéal pour : Les situations où l’ordre des colonnes est critique.
Méthode df.assign()
: Ajout efficace de plusieurs colonnes
df.assign()
est particulièrement utile pour ajouter plusieurs colonnes à la fois ou créer de nouvelles colonnes basées sur des calculs. Il est important de noter qu’elle renvoie un *nouveau* DataFrame, laissant l’original inchangé.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)
df = df.assign(City=['New York', 'London', 'Paris'], Age_Squared=df['Age']**2)
print(df)
Idéal pour : L’ajout de plusieurs colonnes et les colonnes calculées ; son immuabilité prévient la perte accidentelle de données.
Méthode df.loc()
: Création conditionnelle de colonnes
df.loc()
offre la plus grande flexibilité, permettant la création conditionnelle de colonnes basée sur la sélection de lignes et l’indexation booléenne.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)
df.loc[df['Age'] < 30, 'Age_Group'] = 'Young'
df.loc[df['Age'] >= 30, 'Age_Group'] = 'Older'
print(df)
Idéal pour : L’ajout de colonnes basées sur des conditions complexes ; nécessite une familiarité avec l’indexation booléenne.
Conclusion : La méthode optimale dépend de vos besoins spécifiques. L’opérateur [] est rapide pour les ajouts simples, df.insert()
contrôle la position des colonnes, df.assign()
gère efficacement plusieurs colonnes ou colonnes calculées, et df.loc()
permet la création conditionnelle de colonnes. Choisissez la méthode qui équilibre au mieux la lisibilité et la fonctionnalité pour votre tâche.