Panda's: een rij invoegen op een specifieke indexpositie


U kunt de volgende basissyntaxis gebruiken om een rij in te voegen op een specifieke indexpositie in een Panda DataFrame:

 #insert row in between index position 2 and 3
df. loc [ 2.5 ] = value1, value2, value3, value4

#sort index
df = df. sort_index (). reset_index (drop= True )

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: Voeg een rij in op een specifieke indexpositie in Panda’s

Stel dat we de volgende panda’s DataFrame hebben:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

We kunnen de volgende syntaxis gebruiken om een lijn in te voegen tussen indexposities 2 en 3:

 #insert row in between index position 2 and 3
df. loc [ 2.5 ] = 'Z', 10, 5, 7

#sort index
df = df. sort_index (). reset_index (drop= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 Z 10 5 7
4 D 14 9 6
5 E 14 12 6
6 F 11 9 5
7 G 20 9 9
8:28 a.m. 4:12

Merk op dat er een lijn is ingevoegd tussen de vorige indexposities 2 en 3 met de volgende informatie:

  • team: Z
  • punten: 10
  • assisteert: 5
  • terugslag: 7

Met behulp van de functies sort_index() en reset_index() konden we vervolgens waarden opnieuw toewijzen aan de index, variërend van 0 tot 8.

Houd er rekening mee dat de nieuwe rij hetzelfde aantal waarden moet bevatten als het aantal bestaande kolommen.

Als we bijvoorbeeld zouden proberen een nieuwe rij met slechts drie waarden in te voegen, zouden we een foutmelding krijgen:

 #attempt to insert row with only three values
df. loc [ 2.5 ] = 10, 5, 7

ValueError : cannot set a row with mismatched columns

We ontvangen een ValueError omdat het aantal waarden in de nieuwe rij niet overeenkomt met het aantal bestaande kolommen in het DataFrame.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:

Hoe u een kolom invoegt in een Pandas DataFrame
Rijen toevoegen aan een Pandas DataFrame
Hoe rijen in Pandas DataFrame te verwijderen op basis van de voorwaarde

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert