Skip to content

Eine neue Spalte zu einem Pandas DataFrame hinzufügen (mit Beispielen & Best Practices)

Updated on

Das Hinzufügen neuer Spalten ist eine der häufigsten Operationen beim Arbeiten mit Pandas DataFrames. Ob du ein berechnetes Feld erstellst, eine Spalte an einer bestimmten Position einfügst oder ein DataFrame dynamisch aufbaust – Pandas stellt mehrere leistungsfähige Techniken bereit, um das einfach zu erledigen.

Dieser aktualisierte Guide für 2025 behandelt:

  • Die 6 besten Methoden zum Hinzufügen einer neuen Spalte
  • Wann du welche Methode verwenden solltest
  • Spalten auf Basis vorhandener Daten hinzufügen
  • Häufige Fehler vermeiden (z. B. SettingWithCopyWarning)
  • Praxisnahe Beispiele

⭐ Kurzer Tipp: Mach aus deinem DataFrame ein visuelles Analyse‑Tool

Willst du dein DataFrame sofort visualisieren?

PyGWalker verwandelt jedes Pandas- oder Polars-DataFrame in eine interaktive, Tableau-ähnliche UI direkt in Jupyter Notebook.

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
KaggleColabGitHub
Run PyGWalker in Kaggle (opens in a new tab)Run in Google Colab (opens in a new tab)Give us a ⭐️ (opens in a new tab)

Was ist ein Pandas DataFrame?

Ein DataFrame ist eine zweidimensionale, beschriftete Tabelle (Zeilen + Spalten), ähnlich wie Excel‑ oder SQL‑Tabellen. Mit Pandas kannst du DataFrames erstellen aus:

  • CSV
  • Excel
  • SQL
  • JSON
  • Python‑Listen & ‑Dictionaries

und erhältst leistungsfähige APIs, um sie zu manipulieren und zu analysieren.


📌 Wie fügt man eine neue Spalte in Pandas hinzu? (Kurzüberblick)

MethodeAm besten geeignet fürBeispiel
1. Zuweisung (df['col'] = ...)Die meisten einfachen Fälledf['salary'] = ...
2. Spalte einfügen (df.insert)Einfügen an bestimmtem Indexdf.insert(1, 'x', ...)
3. Assign (df.assign)Method Chainingdf = df.assign(x=...)
4. Concat (pd.concat)Viele Spalten auf einmalpd.concat([df, df2], axis=1)
5. Basierend auf bestehenden SpaltenReale Transformationendf['age2'] = df['age'] * 2
6. Bedingte SpaltenIf‑else‑Logiknp.where(...)

Schauen wir uns jede Methode mit Beispielen an.


1. Methode: Einfache Zuweisung (für die meisten Anwendungsfälle)

df['NewColumn'] = [1, 2, 3, 4]

▶ Beispiel

df['Salary'] = [50000, 60000, 70000, 80000]

Wann verwenden?

  • Häufigste & einfachste Methode
  • Zum Hinzufügen von Konstanten, Listen, Arrays oder berechneten Ergebnissen

Hinweise:

  • Überschreibt die Spalte, falls sie bereits existiert
  • Sehr effizient

2. Methode: Spalte an einer bestimmten Position einfügen (df.insert)

df.insert(loc=1, column='Department', value=['IT', 'HR', 'Finance', 'Admin'])

Verwenden, wenn:

  • Du eine genaue Spaltenreihenfolge brauchst
  • Nützlich für Reporting und Export strukturierter Daten

3. Methode: Spalte mit assign hinzufügen (funktionaler / Chaining‑Stil)

df = df.assign(Tax=lambda x: x['Salary'] * 0.1)

Vorteile:

  • Gut für Method Chaining
  • Verändert das ursprüngliche DataFrame nicht, sofern du das Ergebnis nicht zuweist

4. Methode: Spalten mit pd.concat hinzufügen

df2 = pd.DataFrame({'Bonus': [1000, 2000, 2500, 1800]})
df = pd.concat([df, df2], axis=1)

Verwenden, wenn:

  • Du mehrere neue Spalten anhängen willst
  • Du zwei DataFrames kombinieren möchtest

Vermeiden, wenn:

  • Du nur eine einzelne Spalte hinzufügst → Zuweisung ist schneller

5. Spalte basierend auf bestehenden Spalten hinzufügen (Praxisbeispiel)

Das ist der häufigste Anwendungsfall – im ursprünglichen Artikel oft nicht ausreichend behandelt.

Beispiel: Gesamtscore berechnen

df['Total'] = df['Math'] + df['Science'] + df['English']

Beispiel: Einen Wert normalisieren

df['Age_Norm'] = df['Age'] / df['Age'].max()

6. Bedingte Spalten (np.where oder boolesche Masken)

Beispiel: Einen „Senior“-Indikator hinzufügen

import numpy as np
df['Senior'] = np.where(df['Age'] >= 35, 'Yes', 'No')

Variante mit boolescher Maske

df['IsAdult'] = df['Age'] > 18

Verwenden, wenn:

  • Du Klassifikationslabels erstellst
  • Binäre Bedingungen abbildest

Eine bestehende Spalte überschreiben

Ja – einfache Zuweisung überschreibt:

df['Age'] = [26, 31, 36, 41]

Spalte anhand eines Spaltennamens an einer Position einfügen

df.insert(df.columns.get_loc("Age"), 'Score', [1, 2, 3, 4])

Nützlich, wenn die Spaltenreihenfolge von bestehenden Namen abhängt (z. B. in automatischen Pipelines).


⚠ Häufiger Fehler: SettingWithCopyWarning

Wenn du ein DataFrame falsch slicest:

subset = df[df['Age'] > 30]
subset['Flag'] = 1   # Warning!

Korrektur:

subset = df[df['Age'] > 30].copy()
subset['Flag'] = 1

Fazit

Du kennst jetzt die 6 grundlegenden Methoden, um neue Spalten in Pandas hinzuzufügen:

  • Einfache Zuweisung (beste Standardwahl)
  • insert‑Methode für eine exakte Reihenfolge
  • assign für Chaining
  • concat zum Kombinieren von DataFrames
  • Berechnete Spalten
  • Spalten mit bedingter Logik

Mit diesen Techniken kannst du DataFrames effizient manipulieren und typische Fallstricke vermeiden.


FAQ (für SEO & Nutzerunterstützung)

1. Wie füge ich eine Spalte mit demselben Wert hinzu?

df['Source'] = 'System'

2. Wie füge ich eine Spalte basierend auf einer Funktion hinzu?

df['Score'] = df.apply(lambda x: x['Math'] * 0.6 + x['English'] * 0.4, axis=1)

3. Wie füge ich mehrere Spalten auf einmal hinzu?

df[['A', 'B']] = df[['X', 'Y']] * 2

4. Was ist die schnellste Methode?

Einfache Zuweisung (df['col'] = ...) ist in der Regel am effizientesten.