Maison  >  Article  >  développement back-end  >  Comment insérer une ligne dans un DataFrame Pandas à une position spécifiée ?

Comment insérer une ligne dans un DataFrame Pandas à une position spécifiée ?

DDD
DDDoriginal
2024-10-23 06:39:01589parcourir

How to Insert a Row into a Pandas DataFrame at a Specified Position?

Insérer une ligne dans un DataFrame Pandas

Dans Pandas, vous disposez d'un DataFrame et souhaitez insérer une ligne à un index ou une position spécifique. Une méthode courante consiste à utiliser loc (pour l'indexation basée sur les étiquettes) ou iloc (pour l'indexation basée sur les entiers).

Comprenons cela avec un exemple :

Considérons le DataFrame df suivant :

s1 = pd.Series([5, 6, 7])
s2 = pd.Series([7, 8, 9])

df = pd.DataFrame([list(s1), list(s2)],  columns =  ["A", "B", "C"])

print(df)

Sortie :

   A  B  C
0  5  6  7
1  7  8  9

Maintenant, vous souhaitez insérer une nouvelle ligne (par exemple, [2, 3, 4]) au début (index 0) du DataFrame existant.

Pour insérer une ligne à un index spécifique, vous pouvez attribuer la ligne à l'index souhaité en utilisant loc. Par exemple, pour insérer [2, 3, 4] comme première ligne :

df.loc[-1] = [2, 3, 4]

Cependant, cette action ajoute une ligne avant le DataFrame existant, ce qui entraîne un index négatif. Pour décaler les index existants vers le haut et faire de la ligne nouvellement insérée la première ligne, vous pouvez mettre à jour les indices en les incrémentant :

df.index = df.index + 1

Enfin, triez le DataFrame par index pour obtenir l'ordre souhaité :

df = df.sort_index()

En conséquence, vous obtenez le DataFrame mis à jour avec la ligne insérée à l'index 0 :

   A  B  C
0  2  3  4
1  5  6  7
2  7  8  9

Cette approche vous permet d'insérer une nouvelle ligne à n'importe quelle position dans un DataFrame en attribuant valeurs à un index spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn