Skip to content

DataFrame Pandas erweitern: Wie man Zeilen und Spalten wie ein Profi hinzufügt

Updated on

Pandas, eine äußerst effiziente Open-Source-Python-Bibliothek, ist ein grundlegendes Werkzeug für Datenwissenschaftler weltweit. Ihre Stärke liegt in der Flexibilität und Einfachheit der Manipulation strukturierter Daten. Das DataFrame, eine der grundlegenden Datenstrukturen von Pandas, wird aufgrund seiner Fähigkeit, große Datensätze effizient zu verarbeiten, weit verbreitet verwendet.

Eine häufige Aufgabe bei der Arbeit mit Pandas DataFrames besteht darin, Daten anzuhängen. Diese Operation kann das Hinzufügen von Zeilen, das Hinzufügen von Spalten oder sogar das Anhängen ganzer DataFrames umfassen. Es kann zunächst recht herausfordernd erscheinen, aber sobald Sie die append-Funktion beherrschen, ist es ein Kinderspiel. Tauchen wir also tief ein, wie wir die DataFrame append-Funktion in Pandas nutzen können.

Möchten Sie Datenvisualisierungen aus Python Pandas Dataframe ohne Code erstellen?

PyGWalker ist eine Python-Bibliothek für explorative Datenanalyse mit Visualisierung. PyGWalker (opens in a new tab) kann Ihren Jupyter-Notebook-Datenanalyse- und Datenvisualisierungsworkflow vereinfachen, indem es Ihr pandas dataframe (und polars dataframe) in eine tabellenähnliche Benutzeroberfläche für die visuelle Exploration verwandelt.

PyGWalker für Datenvisualisierung (opens in a new tab)

Die Pandas DataFrame append-Funktion

Die Pandas DataFrame append-Funktion wird verwendet, um Zeilen anderer DataFrame-Objekte anzuhängen und liefert einen neuen DataFrame. Es ist wichtig zu verstehen, dass diese Funktion den ursprünglichen DataFrame nicht ändert, sondern einen neuen erstellt, der die ursprünglichen und angehängten Daten kombiniert.

Syntax der append-Funktion in Pandas

Die grundlegende Syntax für die append()-Funktion lautet wie folgt:

DataFrame.append(other, ignore_index=False, sort=False)
  • other: Dies kann ein DataFrame, Serie, Wörterbuch oder eine Liste dieser sein, das/der die anzuhängenden Daten definiert.
  • ignore_index: Wenn True, werden die Indizes des resultierenden DataFrames mit 0, 1, ..., n beschriftet. Der Standardwert ist False.
  • sort: Dies definiert, ob die Nicht-Konkatenationsachse sortiert werden soll. Der Standardwert ist False.

Lassen Sie uns die append-Funktion anhand eines Beispiels in Aktion sehen.

Anhängen einer Zeile an DataFrame

import pandas as pd
 
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
                    'B': ['B0', 'B1', 'B2'],
                    'C': ['C0', 'C1', 'C2'],
                    'D': ['D0', 'D1', 'D2']},
                    index=[0, 1, 2])
 
df2 = pd.DataFrame({'A': 'A3',
                    'B': 'B3',
                    'C': 'C3',
                    'D': 'D3'},
                    index=[3])
 
df1 = df1.append(df2)
 
print(df1)

In dem obigen Beispiel ist df1 das ursprüngliche DataFrame und df2 wird daran angehängt. Das resultierende DataFrame enthält alle Zeilen von df1 und df2.

Mehrere DataFrames anhängen

Das Anhängen mehrerer DataFrames ist ebenfalls ein unkomplizierter Vorgang. Die append-Funktion kann eine Liste von DataFrames entgegennehmen, um sie zusammen anzuhängen. Betrachten Sie das folgende Beispiel:

df3 = pd.DataFrame({'A': 'A4',
                    'B': 'B4',
                    'C': 'C4',
                    'D': 'D4'},
                    index=[4])
 
df1 = df1.append([df2, df3])
 
print(df1)

In diesem Beispiel fügen wir df2 und df3 gleichzeitig zu df1 hinzu.

DataFrame append vs. Concatenation in Pandas

Sie fragen sich möglicherweise nach dem Unterschied zwischen den Funktionen append() und concat() in Pandas, da beide anscheinend einen ähnlichen Zweck erfüllen. Während append() im Wesentlichen ein spezifischer Fall von concat() ist, bietet die concat()-Funktion mehr Flexibilität, wie z.B. die Möglichkeit, Daten entlang der Zeilenachse (axis=0) oder der Spaltenachse (axis=1) hinzuzufügen. Diese erweiterte Funktionalität bedeutet, dass concat() ein leistungsfähigeres Werkzeug für komplexere Datenmanipulationsaufgaben sein kann. Für einfache Anhängeaufgaben ist jedoch append() in der Regel mehr als ausreichend.

Spalte an DataFrame Pandas anhängen

Das Anhängen einer Spalte an ein DataFrame kann erreicht werden, indem Daten einer neuen Spalte im DataFrame zugewiesen werden. Zum Beispiel:

df1['E'] = ['E0', 'E1', 'E2', 'E3', 'E4']
print(df1)

In diesem Beispiel wird eine neue Spalte 'E' zu df1 hinzugefügt. Die neue Spalte wird mit den Werten 'E0', 'E1', 'E2', 'E3', 'E4' initialisiert.

Ausgabe einer For-Schleife an ein Python DataFrame anhängen

Sie können auch die Ausgabe einer For-Schleife an ein DataFrame anhängen. Dies kann nützlich sein, wenn Sie Daten in einer Schleife verarbeiten oder generieren. Werfen wir einen Blick auf ein Beispiel:

df = pd.DataFrame(columns = ['A', 'B', 'C'])
 
for i in range(5):
    df = df.append({'A': i, 'B': i*2, 'C': i+3}, ignore_index=True)
 
print(df)

In diesem Beispiel wird für jede Iteration der Schleife eine neue Zeile erstellt und an das DataFrame df angehängt.

Best Practices zum Anhängen von DataFrame-Zeilen in Pandas

Während die append()-Funktion ein benutzerfreundliches Werkzeug zum Hinzufügen von Daten zu einem DataFrame ist, ist es möglicherweise nicht immer das effizienteste. Das liegt daran, dass append() immer einen neuen DataFrame zurückgibt und beim Anhängen von Zeilen in einer Schleife dies zu erheblichem Speicherverbrauch führen kann.

In Szenarien, in denen Sie eine große Anzahl von Zeilen anhängen müssen, ist es oft effizienter, eine Liste der Zeilen zu erstellen und dann in einem Rutsch ein DataFrame zu erstellen:

rows_list = []
for i in range(100000):
    dict1 = {'A': i, 'B': i*2, 'C': i+3}
    rows_list.append(dict1)
 
df = pd.DataFrame(rows_list)

In diesem Beispiel wird das DataFrame nur einmal erstellt, was Speicher und Verarbeitungszeit spart.

Wie man Pandas DataFrame mit Append() zusammenführt

Während die Funktionen merge() und join() speziell zum Zusammenführen oder Verbinden von DataFrames entwickelt wurden, kann die Funktion append() dies auch erreichen, wenn die DataFrames dieselben Spalten haben:

df1 = df1.append(df2, ignore_index=True)

In diesem Beispiel wird df2 am Ende von df1 angehängt und die beiden DataFrames effektiv zusammengeführt.

Fazit

In diesem Artikel haben wir viel darüber erfahren, wie wir die Funktion append() in Pandas verwenden können, um Zeilen und Spalten zu einem DataFrame hinzuzufügen, wie wir mehrere DataFrames anhängen können, wie wir eine Spalte hinzufügen und wie wir Ausgaben aus einer Schleife anhängen. Denken Sie daran, dass append() zwar bequem und einfach zu bedienen ist, aber in Fällen großer Datensätze andere Methoden möglicherweise effizienter sind.

Häufig gestellte Fragen

  1. Wofür wird die Pandas DataFrame append Funktion verwendet?

    Die append Funktion des Pandas DataFrames wird verwendet, um Zeilen anderer DataFrame-Objekte am Ende des angegebenen DataFrame anzuhängen und ein neues DataFrame-Objekt zurückzugeben. Sie modifiziert nicht das ursprüngliche DataFrame, sondern erstellt stattdessen ein neues DataFrame, das die ursprünglichen und angehängten Daten enthält.

  2. Können mehrere DataFrames mit append() angehängt werden?

    Ja, Sie können mehrere DataFrames mit der append() Funktion anhängen. Sie kann eine Liste von DataFrames entgegennehmen, die zusammen angehängt werden sollen.

  3. Wird empfohlen, die Methode append() zu verwenden, um Daten zu einem DataFrame hinzuzufügen?

    Während die append() Funktion einfach zu bedienen ist und für viele Fälle geeignet ist, ist sie für große DataFrames möglicherweise nicht die effizienteste Methode, da sie immer ein neues DataFrame zurückgibt. Stattdessen sollten Sie erwägen, eine Liste von Zeilen oder Spalten zu erstellen und diese Liste dann in einem Schritt in ein DataFrame umzuwandeln.