Ajouter/supprimer des colonnes et des lignes dans les DataFrames avec Pandas
Table des matières
- Introduction
- Ajouter des colonnes à un DataFrame
- Supprimer des colonnes d'un DataFrame
- Ajouter des lignes à un DataFrame
- Supprimer des lignes d'un DataFrame
- Conclusion
Introduction
Bonjour à tous ! Dans cette vidéo, nous allons apprendre comment ajouter et supprimer des colonnes ainsi que des lignes dans nos DataFrames. Nous verrons également comment combiner des informations provenant de plusieurs colonnes en une seule. Avant de commencer, je tiens à souligner que cette série de vidéos est sponsorisée par Brilliant. Je tiens à remercier Brilliant pour leur soutien et je vous encourage tous à consulter leur site en utilisant le lien dans la description ci-dessous. Dans cette vidéo, nous utiliserons pandas, une bibliothèque Python populaire pour l'analyse de données. Assurez-vous d'avoir les liens vers le code, les notebooks et les jeux de données que j'utilise dans cette série dans la description ci-dessous.
Ajouter des colonnes à un DataFrame
Ajouter des colonnes à un DataFrame est assez simple. C'est essentiellement la même chose que de mettre à jour des valeurs dans une colonne. Nous pouvons créer une nouvelle colonne en passant une série de valeurs que nous voulons assigner à cette colonne. Par exemple, si nous voulons combiner les colonnes prénom et nom en une seule colonne appelée "nom complet", nous pouvons le faire de la manière suivante :
pre_nom = df['prénom'] + " " + df['nom']
df['nom complet'] = pre_nom
Maintenant, notre DataFrame aura une nouvelle colonne "nom complet" qui contient la combinaison des colonnes prénom et nom. Vous pouvez également créer une nouvelle colonne en utilisant la méthode apply
pour effectuer une analyse mathématique ou statistique sur une autre colonne du DataFrame.
Supprimer des colonnes d'un DataFrame
Maintenant que nous savons comment ajouter des colonnes, voyons comment les supprimer. Pour supprimer une ou plusieurs colonnes d'un DataFrame, nous utilisons la méthode drop
. Par exemple, si nous voulons supprimer les colonnes prénom et nom de notre DataFrame, nous pouvons le faire de la manière suivante :
df = df.drop(columns=['prénom', 'nom'])
Cela supprimera les colonnes spécifiées et retournera un nouveau DataFrame sans ces colonnes. Si nous voulons que les modifications soient permanentes, nous pouvons utiliser l'argument inplace=True
lors de l'appel à la méthode drop
. Par exemple :
df.drop(columns=['prénom', 'nom'], inplace=True)
Maintenant, les colonnes ont été supprimées de façon permanente de notre DataFrame.
Ajouter des lignes à un DataFrame
Il y a deux façons d'ajouter des lignes à un DataFrame. Premièrement, nous pouvons ajouter une seule ligne de nouvelles données en utilisant la méthode append
. Par exemple, nous pouvons ajouter une nouvelle ligne avec le prénom "Tony" de la manière suivante :
new_row = {'prénom': 'Tony'}
df = df.append(new_row, ignore_index=True)
Cela ajoutera une ligne avec le prénom "Tony" à notre DataFrame existant. Notez que nous utilisons ignore_index=True
pour que le nouvel index soit automatiquement attribué par pandas.
Deuxièmement, si nous avons un autre DataFrame que nous voulons ajouter à notre DataFrame existant, nous pouvons le faire en utilisant la méthode append
également. Par exemple :
df2 = pd.DataFrame({'prénom': ['Steve', 'Peter'], 'nom': ['Rogers', 'Parker']})
df = df.append(df2, ignore_index=True)
Cela ajoutera les lignes du DataFrame df2
à notre DataFrame existant. Comme avant, nous utilisons ignore_index=True
pour attribuer automatiquement de nouveaux index et nous pouvons également utiliser l'argument sort=False
pour éviter un avertissement de tri des colonnes.
Supprimer des lignes d'un DataFrame
Pour supprimer des lignes d'un DataFrame, nous utilisons la méthode drop
avec l'index des lignes que nous voulons supprimer. Par exemple, si nous voulons supprimer la ligne avec l'index 4 de notre DataFrame, nous pouvons le faire de la manière suivante :
df = df.drop(index=4)
Cela supprimera la ligne avec l'index 4 de notre DataFrame. Nous pouvons également utiliser des conditions pour supprimer des lignes à l'aide de la méthode drop
. Par exemple, si nous voulons supprimer toutes les lignes où le nom de famille est "Doe", nous pouvons le faire de la manière suivante :
filter = df['nom'] == 'Doe'
indexes = df[filter].index
df = df.drop(index=indexes)
Cela supprimera toutes les lignes du DataFrame où le nom de famille est "Doe". Notez que nous avons stocké le résultat de la condition dans une variable filter
et les indexes correspondants dans une autre variable indexes
pour une meilleure lisibilité du code.
Conclusion
Dans cette vidéo, nous avons appris comment ajouter et supprimer des colonnes, ainsi que des lignes, dans nos DataFrames. Nous avons vu comment combiner des informations provenant de plusieurs colonnes en une seule colonne et comment ajouter ou supprimer des lignes individuelles ou en masse. Ces opérations sont essentielles pour manipuler et organiser efficacement les données dans pandas. N'hésitez pas à poser vos questions dans la section des commentaires si vous avez des doutes ou des problèmes. Merci d'avoir regardé cette vidéo et à bientôt !
FAQ
Q: Comment ajouter plusieurs colonnes à la fois à un DataFrame ?
R: Pour ajouter plusieurs colonnes à la fois à un DataFrame, vous pouvez créer un nouveau DataFrame avec les colonnes souhaitées et ensuite fusionner les deux DataFrames à l'aide de la méthode concat
de pandas. Par exemple :
new_columns = pd.DataFrame({'colonne1': [1, 2, 3], 'colonne2': ['a', 'b', 'c']})
df = pd.concat([df, new_columns], axis=1)
Cela ajoutera les colonnes colonne1
et colonne2
à notre DataFrame existant.
Q: Comment supprimer toutes les lignes d'un DataFrame ?
R: Pour supprimer toutes les lignes d'un DataFrame, vous pouvez utiliser la méthode drop
avec l'index de toutes les lignes. Par exemple :
df = df.drop(index=df.index)
Cela supprimera toutes les lignes du DataFrame.
Q: Y a-t-il un moyen plus efficace de supprimer des lignes d'un DataFrame en utilisant une condition ?
R: Oui, si vous avez une condition complexe pour supprimer des lignes d'un DataFrame, il est préférable d'utiliser la méthode loc
de pandas. Par exemple, si vous voulez supprimer toutes les lignes où la valeur d'une colonne est inférieure à 10, vous pouvez le faire de la manière suivante :
df = df.loc[df['colonne'] >= 10]
Cela supprimera toutes les lignes où la valeur de la colonne est inférieure à 10.
Ressources :