Pandas DataFrames sind ein Eckpfeiler der Datenmanipulation in Python. Das effiziente Hinzufügen von Zeilen ist eine gängige Aufgabe, und dieser Artikel beschreibt die Best Practices zum Anhängen einer einzelnen Zeile an Ihr DataFrame.
Inhaltsverzeichnis
- Effizientes Hinzufügen von Zeilen mit
.loc
- Anhängen mit Dictionaries für bessere Lesbarkeit
- Warum Sie die
append()
-Methode vermeiden sollten
Effizientes Hinzufügen von Zeilen mit .loc
Der .loc
-Accessor bietet die effizienteste und direkteste Möglichkeit, eine Zeile hinzuzufügen. Er ist besonders vorteilhaft bei der Arbeit mit größeren DataFrames und minimiert den Performance-Overhead. Sie geben den Index für die neue Zeile an und stellen die Daten als Liste oder NumPy-Array bereit.
import pandas as pd
import numpy as np
# Beispiel DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)
# Daten der neuen Zeile als Liste
new_row_list = [4, 7]
# Hinzufügen der neuen Zeile mit .loc
df.loc[len(df)] = new_row_list
print("Verwendung einer Liste:n", df)
#Daten der neuen Zeile als NumPy-Array
new_row_array = np.array([5,8])
#Hinzufügen der neuen Zeile mit .loc und NumPy-Array
df.loc[len(df)] = new_row_array
print("nVerwendung eines NumPy-Arrays:n",df)
Dieser Ansatz modifiziert die zugrunde liegende Struktur des DataFrames direkt, wodurch er schneller als Alternativen ist. Die Ausgabe zeigt die angehängten neuen Zeilen.
Anhängen mit Dictionaries für bessere Lesbarkeit
Bei vielen Spalten erhöht die Verwendung eines Dictionaries zur Darstellung der neuen Zeile die Lesbarkeit des Codes. Die Dictionary-Schlüssel entsprechen den Spaltennamen, und die Werte sind die Daten der Zeile. pd.concat
kombiniert das vorhandene DataFrame effizient mit der neuen Zeile.
import pandas as pd
# Beispiel DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)
# Daten der neuen Zeile als Dictionary
new_row_dict = {'col1': 5, 'col2': 8}
# Hinzufügen der neuen Zeile mit pd.concat
df = pd.concat([df, pd.DataFrame([new_row_dict])], ignore_index=True)
print(df)
ignore_index=True
stellt sicher, dass der Index korrekt behandelt wird und verhindert doppelte Indizes.
Warum Sie die append()
-Methode vermeiden sollten
Die append()
-Methode ist in modernen Pandas-Versionen veraltet. Sie ist weniger effizient und kann zu unerwartetem Verhalten führen. Die .loc
– und die dictionary-basierten Methoden sind hinsichtlich Leistung und Wartbarkeit überlegen. Bevorzugen Sie immer die effizienteren und unterstützten Ansätze, die oben beschrieben wurden.