Data Science

Pandas meistern: Vier Wege, um DataFrames Spalten hinzuzufügen

Spread the love

Pandas DataFrames sind essentiell für die Datenmanipulation in Python. Das Hinzufügen neuer Spalten ist eine gängige Aufgabe, und Pandas bietet mehrere effiziente Möglichkeiten, dies zu erreichen. Dieser Artikel untersucht vier wichtige Methoden und hebt deren Stärken und Schwächen hervor, um Ihnen bei der Auswahl des besten Ansatzes für Ihre Situation zu helfen.

Inhaltsverzeichnis

[]-Operator-Methode: Der schnelle und einfache Weg

Dies ist die einfachste Methode, ideal zum Hinzufügen von Spalten basierend auf bestehenden Daten oder einfachen Berechnungen. Sie weisen Werten direkt einer neuen Spalte mithilfe von eckigen Klammern zu.


import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)

df['City'] = ['New York', 'London', 'Paris']
print(df)

Einschränkungen: Diese Methode kann nicht an einer bestimmten Position einfügen und erfordert, dass die Daten der neuen Spalte der Länge des DataFrames entsprechen.

df.insert()-Methode: Präzise Spaltenplatzierung

df.insert() bietet mehr Kontrolle und ermöglicht Ihnen die Angabe des Index (Position) der Spalte. Es nimmt drei Argumente entgegen: die Position, den Spaltennamen und die Daten.


import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)

df.insert(1, 'City', ['New York', 'London', 'Paris'])
print(df)

Am besten geeignet für: Situationen, in denen die Reihenfolge der Spalten entscheidend ist.

df.assign()-Methode: Effizientes Hinzufügen mehrerer Spalten

df.assign() ist besonders nützlich zum gleichzeitigen Hinzufügen mehrerer Spalten oder zum Erstellen neuer Spalten basierend auf Berechnungen. Wichtig ist, dass es ein *neues* DataFrame zurückgibt und das Original unverändert lässt.


import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)

df = df.assign(City=['New York', 'London', 'Paris'], Age_Squared=df['Age']**2)
print(df)

Am besten geeignet für: Mehrere Spaltenzusätze und berechnete Spalten; seine Unveränderlichkeit verhindert versehentlichen Datenverlust.

df.loc()-Methode: Bedingte Spaltenerstellung

df.loc() bietet die größte Flexibilität und ermöglicht die bedingte Spaltenerstellung basierend auf der Zeilenauswahl und der booleschen Indizierung.


import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)

df.loc[df['Age'] < 30, 'Age_Group'] = 'Jung'
df.loc[df['Age'] >= 30, 'Age_Group'] = 'Älter'
print(df)

Am besten geeignet für: Das Hinzufügen von Spalten basierend auf komplexen Bedingungen; erfordert Vertrautheit mit der booleschen Indizierung.

Fazit: Die optimale Methode hängt von Ihren spezifischen Anforderungen ab. Der []-Operator ist schnell für einfache Ergänzungen, df.insert() steuert die Spaltenposition, df.assign() verarbeitet mehrere oder berechnete Spalten effizient, und df.loc() ermöglicht die bedingte Spaltenerstellung. Wählen Sie die Methode, die für Ihre Aufgabe die beste Balance zwischen Lesbarkeit und Funktionalität bietet.

Schreibe einen Kommentar

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