Pandas: so fügen sie eine zeile an einer bestimmten indexposition ein


Sie können die folgende grundlegende Syntax verwenden, um eine Zeile an einer bestimmten Indexposition in einem Pandas-DataFrame einzufügen:

 #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 )

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Fügen Sie eine Zeile an einer bestimmten Indexposition in Pandas ein

Angenommen, wir haben den folgenden Pandas-DataFrame:

 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

Mit der folgenden Syntax können wir eine Zeile zwischen den Indexpositionen 2 und 3 einfügen:

 #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

Beachten Sie, dass zwischen den vorherigen Indexpositionen 2 und 3 eine Zeile mit den folgenden Informationen eingefügt wurde:

  • Team:Z
  • Punkte: 10
  • Assists: 5
  • Rebounds: 7

Mit den Funktionen sort_index() und reset_index() konnten wir dann dem Index Werte im Bereich von 0 bis 8 neu zuweisen.

Beachten Sie, dass die neue Zeile genauso viele Werte enthalten muss wie die Anzahl der vorhandenen Spalten.

Wenn wir beispielsweise versuchen würden, eine neue Zeile mit nur drei Werten einzufügen, würden wir eine Fehlermeldung erhalten:

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

ValueError : cannot set a row with mismatched columns

Wir erhalten einen ValueError , weil die Anzahl der Werte in der neuen Zeile nicht mit der Anzahl der vorhandenen Spalten im DataFrame übereinstimmt.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

So fügen Sie eine Spalte in einen Pandas DataFrame ein
So fügen Sie Zeilen zu einem Pandas DataFrame hinzu
So löschen Sie Zeilen in Pandas DataFrame basierend auf der Bedingung

Einen Kommentar hinzufügen

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