Heim > Backend-Entwicklung > Python-Tutorial > Warum ist „DataFrame.append' veraltet und wie füge ich Zeilen zu einem Pandas DataFrame hinzu?

Warum ist „DataFrame.append' veraltet und wie füge ich Zeilen zu einem Pandas DataFrame hinzu?

DDD
Freigeben: 2024-12-05 21:38:15
Original
827 Leute haben es durchsucht

Why is `DataFrame.append` Deprecated and How Do I Add Rows to a Pandas DataFrame?

Fehler: „DataFrame“-Objekt hat kein „append“-Attribut

Beim Versuch, einem DataFrame-Objekt ein Wörterbuch hinzuzufügen, kann es zu Problemen kommen die Fehlermeldung „AttributeError: ‚DataFrame‘-Objekt hat kein Attribut ‚append‘.“ Während DataFrame zuvor mit der Append-Methode ausgestattet war, wurde diese in Pandas Version 2.0 entfernt.

Lösung

Um Daten an einen DataFrame anzuhängen, verwenden Sie stattdessen die Concat-Methode:

df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)
Nach dem Login kopieren

Alternative Lösung

Wenn die index ist ein RangeIndex, das loc-Attribut kann auch verwendet werden:

df.loc[len(df)] = new_row # Note: Only use with a RangeIndex!
Nach dem Login kopieren

Warum die Änderung?

Die Append-Methode wurde entfernt, da es sich um eine ineffiziente Operation handelte. vor allem, wenn es wiederholt wird. Im Gegensatz zu list.append, das direkt ausgeführt wird, erstellt das Anhängen von DataFrame einen neuen DataFrame. Dadurch wurde die zeitliche Komplexität wiederholter Einfügevorgänge quadratisch.

Best Practices für wiederholte Einfügungen

Anstatt wiederholt append oder concat zu verwenden, sammeln Sie die neuen Elemente in einer Liste und konvertieren Sie sie fügen Sie sie am Ende der Schleife in einen DataFrame ein. Verketten Sie dann den neuen DataFrame mit dem Original.

lst = []

for new_row in items_generation_logic:
    lst.append(new_row)

# create extension
df_extended = pd.DataFrame(lst, columns=['A', 'B', 'C'])

# concatenate to original
out = pd.concat([df, df_extended])
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum ist „DataFrame.append' veraltet und wie füge ich Zeilen zu einem Pandas DataFrame hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage