Spalten hinzufügen und entfernen
Fügen Sie neue berechnete Spalten hinzu, benennen Sie vorhandene um und entfernen Sie nicht benötigte Spalten oder Zeilen mit drop().
Spalten hinzufügen und entfernen ist eine kostenlose Pandas & NumPy Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Pandas & NumPy Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Pandas & NumPy Academy-Kurs umfasst insgesamt 4 Lektionen.
Eine neue Spalte per Zuweisung hinzufügen
Die einfachste Möglichkeit, eine Spalte hinzuzufügen, ist eine direkte Zuweisung: df['new_col'] = values. Die rechte Seite kann ein Skalar sein (wird auf alle Zeilen angewendet), eine Liste gleicher Länge, ein NumPy-Array, eine Pandas-Series (am Index ausgerichtet) oder ein berechneter Ausdruck mit vorhandenen Spalten. Neue Spalten werden rechts an den DataFrame angefügt.
import pandas as pd
df = pd.DataFrame({'price': [10.0, 20.0, 15.0], 'qty': [3, 5, 2]})
df['revenue'] = df['price'] * df['qty']
df['currency'] = 'USD'
print(df)Feature Engineering: Berechnete Spalten
Zu den häufigsten DataFrame-Operationen gehört das Erstellen von abgeleiteten Merkmalen aus vorhandenen Spalten. Sie können laufende Summen, Verhältnisse und Kennzeichnungen berechnen oder kategoriale Werte in einem einzigen vektorisierten Ausdruck codieren. Diese berechneten Spalten werden automatisch aktualisiert, wenn sich die Quellspalten ändern und Sie sie neu berechnen. Dadurch lassen sich Feature-Engineering-Pipelines einfach reproduzieren.
import pandas as pd
df = pd.DataFrame({'salary': [50000, 80000, 60000],
'bonus': [5000, 12000, 7000]})
df['total_comp'] = df['salary'] + df['bonus']
df['bonus_pct'] = (df['bonus'] / df['salary'] * 100).round(1)
print(df)assign() für Method Chaining verwenden
df.assign(new_col=expression) gibt einen neuen DataFrame mit der hinzugefügten Spalte zurück, ohne das Original zu verändern. Im Gegensatz zur direkten Zuweisung fügt sich die Methode natürlich in eine Method Chain ein. Sie können in einem Aufruf mehrere Spalten hinzufügen. Spätere Spaltenausdrücke können dabei mithilfe von Lambda-Funktionen auf zuvor im selben assign()-Aufruf definierte Spalten verweisen.
import pandas as pd
df = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
result = (df
.assign(sum_xy=lambda d: d['x'] + d['y'])
.assign(ratio=lambda d: d['x'] / d['sum_xy'])
)
print(result)Spalten mit rename() umbenennen
df.rename(columns={'old': 'new'}) gibt einen neuen DataFrame mit umbenannten Spalten zurück. Übergeben Sie ein Dict, um ausgewählte Spalten umzubenennen, ohne andere zu verändern. Sie können auch nach einer Funktion umbenennen: df.rename(columns=str.upper) schreibt alle Spaltennamen in Großbuchstaben um. Benennen Sie Spalten vor dem Zusammenführen von DataFrames aus verschiedenen Quellen immer um, damit die Schlüsselspalten übereinstimmen.
import pandas as pd
df = pd.DataFrame({'a': [1, 2], 'b': [3, 4], 'c': [5, 6]})
renamed = df.rename(columns={'a': 'alpha', 'b': 'beta'})
print(renamed.columns.tolist()) # ['alpha', 'beta', 'c']
# Rename all columns to uppercase
print(df.rename(columns=str.upper).columns.tolist()) # ['A', 'B', 'C']Spaltennamen bereinigen
Spaltennamen aus der Praxis enthalten oft Leerzeichen, Sonderzeichen oder uneinheitliche Groß- und Kleinschreibung. Ein üblicher Vorverarbeitungsschritt besteht darin, sie zu normalisieren: Entfernen Sie Leerzeichen am Anfang und Ende, wandeln Sie die Namen in Kleinbuchstaben um und ersetzen Sie Leerzeichen durch Unterstriche. So können Sie auf Spalten per Punktnotation zugreifen und vermeiden Probleme mit Anführungszeichen in SQL-ähnlichen Abfragezeichenfolgen.
import pandas as pd
df = pd.DataFrame(columns=['First Name', 'Last Name', 'Email Address'])
df.columns = (df.columns
.str.strip()
.str.lower()
.str.replace(' ', '_', regex=False)
)
print(df.columns.tolist()) # ['first_name', 'last_name', 'email_address']Eine Spalte an einer bestimmten Position einfügen
df.insert(loc, column, value) fügt eine Spalte an der ganzzahligen Position loc ein und verschiebt die übrigen Spalten nach rechts. Das ist nützlich, wenn die neue Spalte neben verwandten Spalten und nicht am Ende erscheinen soll. Die Methode verändert den DataFrame direkt, anders als assign().
import pandas as pd
df = pd.DataFrame({'name': ['A', 'B'], 'score': [80, 90]})
df.insert(1, 'grade', ['B', 'A'])
print(df)
# name grade score
# 0 A B 80
# 1 B A 90Spalten mit drop() entfernen
df.drop(columns=['col1', 'col2']) gibt einen neuen DataFrame ohne diese Spalten zurück. Die ältere Syntax df.drop(['col1', 'col2'], axis=1) funktioniert ebenfalls, ist aber weniger gut lesbar. Um Spalten direkt zu entfernen, übergeben Sie inplace=True. Geben Sie in Pipelines stets lieber einen neuen DataFrame zurück, damit das Original für Vergleiche oder ein Rollback erhalten bleibt.
import pandas as pd
df = pd.DataFrame({'a': [1,2], 'b': [3,4], 'c': [5,6], 'd': [7,8]})
cleaned = df.drop(columns=['b', 'd'])
print(cleaned.columns.tolist()) # ['a', 'c']Zeilen mit drop() entfernen
df.drop(index=['r1', 'r2']) entfernt Zeilen anhand ihres Labels. df.drop([0, 2]) entfernt die Zeilen 0 und 2 aus einem standardmäßigen ganzzahligen Index. Das Entfernen von Zeilen wird häufig verwendet, um nach der Datenbereinigung bekannte fehlerhafte Datensätze, Ausreißer oder Testzeilen zu entfernen. Verwenden Sie bei einer Entfernung nach Bedingungen vorzugsweise boolesche Indizierung, damit der Code gut lesbar bleibt.
import pandas as pd
df = pd.DataFrame({'x': [10, 20, 30, 40]}, index=['a', 'b', 'c', 'd'])
trimmed = df.drop(index=['b', 'd'])
print(trimmed)
# x
# a 10
# c 30pop() zum Entfernen und Zurückgeben einer Spalte
df.pop('col') entfernt die Spalte direkt aus dem DataFrame und gibt sie als Series zurück. Das ist nützlich, wenn Sie eine Zielspalte (Label) aus einer Merkmalsmatrix extrahieren müssen: Sie entfernen sie aus dem DataFrame und halten sie separat, um sie als y-Variable in einem Modell zu verwenden.
import pandas as pd
df = pd.DataFrame({'feature1': [1,2], 'feature2': [3,4], 'target': [0,1]})
y = df.pop('target') # removes column and returns as Series
X = df # remaining features
print(y.tolist()) # [0, 1]
print(X.columns.tolist()) # ['feature1', 'feature2']Spalten neu anordnen
Um Spalten neu anzuordnen, wählen Sie sie in der gewünschten Reihenfolge aus, etwa mit df[['col3', 'col1', 'col2']]. Bei großen DataFrames, in denen Sie nur wenige Spalten verschieben möchten, können Sie die gewünschte Reihenfolge programmgesteuert bestimmen: Verschieben Sie wichtige Spalten an den Anfang und lassen Sie die übrigen folgen. Das ist ein üblicher Schritt in Berichten vor dem Export nach Excel.
import pandas as pd
df = pd.DataFrame({'id': [1,2], 'score': [80,90], 'name': ['A','B']})
# Move 'name' and 'id' to front
cols = ['name', 'id'] + [c for c in df.columns if c not in ['name', 'id']]
df = df[cols]
print(df.columns.tolist()) # ['name', 'id', 'score']Vorhandene Spaltenwerte aktualisieren
Zum Aktualisieren aller Werte einer vorhandenen Spalte verwenden Sie dieselbe Zuweisungssyntax wie beim Hinzufügen einer neuen Spalte: df['col'] = new_values. Verwenden Sie df.loc[mask, 'col'] = value, um nur die Zeilen zu aktualisieren, die einer Bedingung entsprechen. Verwenden Sie für Aktualisierungen niemals verkettete Indizierung, sondern immer .loc, um die SettingWithCopyWarning zu vermeiden.
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Carol'], 'score': [45, 80, 92]})
# Set scores below 50 to 50 (floor)
df.loc[df['score'] < 50, 'score'] = 50
print(df['score'].tolist()) # [50, 80, 92]Kurze Überprüfung
Testen Sie Ihr Verständnis des Hinzufügens und Entfernens von Spalten aus dieser Lektion.
Zusammenfassung der Lektion
In dieser Lektion haben Sie gelernt: Neue Spalten werden per Zuweisung oder mit dem für Method Chaining geeigneten assign() hinzugefügt, rename() ändert Spaltennamen, ohne die Daten zu verändern und drop() entfernt Spalten oder Zeilen und gibt standardmäßig einen neuen DataFrame zurück. Als Nächstes verwenden wir head(), tail(), info() und describe(), um jeden DataFrame schnell zu untersuchen.
Häufig gestellte Fragen
Ist die Lektion „Spalten hinzufügen und entfernen“ kostenlos?
Ja — der vollständige Text von „Spalten hinzufügen und entfernen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Pandas & NumPy Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Pandas & NumPy Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Spalten hinzufügen und entfernen“?
Fügen Sie neue berechnete Spalten hinzu, benennen Sie vorhandene um und entfernen Sie nicht benötigte Spalten oder Zeilen mit drop(). Du übst Pandas & NumPy Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Pandas & NumPy Academy zu starten?
Keine Vorkenntnisse erforderlich. Pandas & NumPy Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Spalten hinzufügen und entfernen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Pandas & NumPy Academy-Lektion Code schreiben und ausführen?
Ja. Jede Pandas & NumPy Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- DataFrames erstellen
- Spalten und Zeilen auswählen
- Spalten hinzufügen und entfernen
- Grundlegende DataFrame-Inspektion