Ein Weg, dies zu erreichen, ist
>>> pd.DataFrame(np.array([[2, 3, 4]]), columns=['A', 'B', 'C']).append(df, ignore_index=True)
Out[330]:
A B C
0 2 3 4
1 5 6 7
2 7 8 9
Im Allgemeinen ist es am einfachsten, Datenrahmen und keine Serien anzuhängen. In Ihrem Fall pd.prepend()
erstelle ich zuerst den neuen Datenrahmen und hänge dann Ihren alten an , da die neue Zeile "oben" (mit Start-ID) sein soll und keine Funktion vorhanden ist .
ignore_index
ignoriert den alten laufenden Index in Ihrem Datenrahmen und stellt sicher, dass die erste Zeile tatsächlich mit dem Index beginnt, 1
anstatt mit dem Index neu zu starten 0
.
Typischer Haftungsausschluss: Cetero censeo ... das Anhängen von Zeilen ist eine recht ineffiziente Operation. Wenn Sie über die Leistung kümmern und können irgendwie gewährleisten, zunächst einen Datenrahmen mit dem richtigen (mehr) Index erstellen und dann nur das Einfügen der zusätzliche Zeile in den Datenrahmen, sollten Sie auf jeden Fall tun. Sehen:
>>> index = np.array([0, 1, 2])
>>> df2 = pd.DataFrame(columns=['A', 'B', 'C'], index=index)
>>> df2.loc[0:1] = [list(s1), list(s2)]
>>> df2
Out[336]:
A B C
0 5 6 7
1 7 8 9
2 NaN NaN NaN
>>> df2 = pd.DataFrame(columns=['A', 'B', 'C'], index=index)
>>> df2.loc[1:] = [list(s1), list(s2)]
Bisher haben wir das, was Sie hatten als df
:
>>> df2
Out[339]:
A B C
0 NaN NaN NaN
1 5 6 7
2 7 8 9
Jetzt können Sie die Zeile einfach wie folgt einfügen. Da der Raum vorbelegt wurde, ist dies effizienter.
>>> df2.loc[0] = np.array([2, 3, 4])
>>> df2
Out[341]:
A B C
0 2 3 4
1 5 6 7
2 7 8 9
s1.values
alslist(s1)
eine völlig neue Liste mit zu erstellenlist(s1)
.