Ajout de lignes à un DataFrame Pandas : un guide étape par étape
Published on
Dans les projets d'analyse de données et d'apprentissage automatique, vous avez souvent besoin d'ajouter de nouvelles observations à un DataFrame Pandas. Que vous traitiez des données d'enquête, des lectures de capteurs ou des journaux de comportement des utilisateurs, vous devez être capable d'ajouter de nouvelles lignes à un DataFrame existant de manière efficace. Pandas, une bibliothèque populaire de manipulation de données en Python, offre plusieurs méthodes pour ajouter des lignes à un DataFrame. Dans ce tutoriel, nous en explorerons trois : .loc
, .append
et .concat
. Plongeons-nous.
Vous souhaitez créer rapidement des visualisations de données en Python ?
PyGWalker est un projet Python open source qui peut aider à accélérer le flux de travail d'analyse et de visualisation des données directement dans un environnement basé sur des notebooks Jupyter.
PyGWalker (opens in a new tab) transforme votre DataFrame Pandas (ou DataFrame Polars) en une interface utilisateur visuelle où vous pouvez faire glisser et déposer des variables pour créer des graphiques facilement. Utilisez simplement le code suivant :
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Vous pouvez exécuter PyGWalker dès maintenant avec ces notebooks en ligne :
Et n'oubliez pas de nous donner une ⭐️ sur GitHub !
Ajout d'une ligne à l'aide de la méthode .loc
La méthode .loc
dans Pandas vous permet de sélectionner un sous-ensemble d'un DataFrame en fonction de ses étiquettes. Vous pouvez également l'utiliser pour ajouter une nouvelle ligne au DataFrame. Voici comment procéder :
import pandas as pd
# création d'un DataFrame d'exemple
df = pd.DataFrame({
'Nom': ['John', 'Sara', 'Tim'],
'Âge': [25, 34, 41],
'Ville': ['New York', 'Londres', 'Paris']
})
# ajout d'une nouvelle ligne à l'aide de .loc
df.loc[3] = ['Anna', 29, 'Berlin']
print(df)
Dans le code ci-dessus, nous créons d'abord un DataFrame df
avec trois lignes et trois colonnes. Ensuite, nous utilisons la méthode .loc
et spécifions un index de ligne de 3. Enfin, nous fournissons une liste de valeurs pour la nouvelle ligne.
Résultat :
Nom Âge Ville
0 John 25 New York
1 Sara 34 Londres
2 Tim 41 Paris
3 Anna 29 Berlin
Notez que l'index de ligne de la nouvelle ligne est 3, ce qui signifie qu'elle sera ajoutée après la dernière ligne du DataFrame. Vous pouvez également utiliser .loc
pour insérer une ligne à un emplacement spécifique en spécifiant l'étiquette de ligne. Par exemple, pour insérer une nouvelle ligne après la deuxième ligne du DataFrame, vous pouvez faire :
# insertion d'une nouvelle ligne après la deuxième ligne
df.loc[2.5] = ['Peter', 37, 'Los Angeles']
print(df)
Résultat :
Nom Âge Ville
0 John 25 New York
1 Sara 34 Londres
2 Tim 41 Paris
2.5 Peter 37 Los Angeles
3 Anna 29 Berlin
Ici, nous insérons la nouvelle ligne après l'étiquette 2
en utilisant une étiquette de 2.5
. Pandas réordonne automatiquement les étiquettes de ligne pour les conserver dans l'ordre croissant.
Ajout d'une ligne à l'aide de la méthode .append
La méthode .append
dans Pandas vous permet de combiner deux DataFrames verticalement. Vous pouvez l'utiliser pour ajouter une nouvelle ligne à un DataFrame en passant un DataFrame avec une seule ligne à la méthode .append
. Voici un exemple :
# création d'une nouvelle ligne en tant que DataFrame
nouvelle_ligne = pd.DataFrame({
'Nom': ['Julia'],
'Âge': [31],
'Ville': ['Tokyo']
})
# utilisation de .append pour ajouter la nouvelle ligne
df = df.append(nouvelle_ligne, ignore_index=True)
print(df)
Résultat :
Nom Âge Ville
0 John 25 New York
1 Sara 34 Londres
2 Tim 41 Paris
3 Anna 29 Berlin
4 Julia 31 Tokyo
Dans le code ci-dessus, nous créons d'abord un nouveau DataFrame nouvelle_ligne
avec une seule ligne de données. Ensuite, nous utilisons la méthode .append
et passons nouvelle_ligne
en tant qu'argument. Le paramètre ignore_index=True
indique à Pandas de réindexer le DataFrame de 0 à 4.
Ajout de plusieurs lignes à l'aide de la méthode .concat
La méthode .concat
dans Pandas vous permet de concaténer deux DataFrames le long d'un axe spécifié. Vous pouvez l'utiliser pour ajouter plusieurs lignes à un DataFrame en passant une liste de DataFrames à la méthode .concat
. Voici comment vous pouvez ajouter deux nouvelles lignes au DataFrame df
en utilisant .concat
.
# création de deux nouvelles lignes en tant que dataframes
nouvelles_lignes = [pd.DataFrame({
'Nom': ['Maria', 'Adam'],
'Âge': [27, 45],
'Ville': ['Sydney', 'Toronto']}),
]
# utilisation de .concat pour ajouter les nouvelles lignes
df = pd.concat([df] + nouvelles_lignes, ignore_index=True)
print(df)
Résultat :
Nom Âge Ville
0 John 25 New York
1 Sara 34 Londres
2 Tim 41 Paris
3 Anna 29 Berlin
4 Maria 27 Sydney 5 Adam 45 Toronto
Dans le code ci-dessus, nous créons d'abord deux nouveaux DataFrames `new_rows`. Ensuite, nous les passons comme une liste à la méthode `.concat` avec `df`. Le paramètre `ignore_index=True` réordonne l'index de 0 à 5.
## Conclusion
Dans ce tutoriel, nous avons exploré trois méthodes différentes pour ajouter de nouvelles lignes à un DataFrame Pandas en Python : `.loc`, `.append` et `.concat`. Chaque méthode a ses avantages et ses inconvénients, selon la situation. La méthode `.loc` est utile lorsque vous souhaitez ajouter une seule ligne à un emplacement spécifique. La méthode `.append` est un moyen simple d'ajouter une seule ligne à la fin d'un DataFrame. La méthode `.concat` est idéale lorsque vous souhaitez ajouter plusieurs lignes en une seule fois. Connaître ces méthodes vous aidera à manipuler efficacement et efficacement les DataFrames dans vos projets d'analyse de données et d'apprentissage automatique. Bon codage !
import BeehiivEmbed from '../../../components/BeehiivEmbed';
<BeehiivEmbed />