Weiter zum Inhalt

Pandas-Tutorial: Doppelte entfernen

Lerne, wie du in Python mit pandas Duplikate entfernst.
Aktualisiert 18. Sept. 2026  · 4 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity

Duplikate zu entfernen ist entscheidend, um korrekte Anzahlen zu erhalten – oft willst du dasselbe Element nicht mehrfach zählen. In Python gelingt das mit dem Modul pandas, das eine Methode namens drop_duplicates bereitstellt.

Schauen wir uns anhand einiger Beispiele an, wie das funktioniert.

Doppelte Namen entfernen

Angenommen, du hast ein DataFrame mit Tierarztbesuchen und die Praxis möchte wissen, wie viele Hunde jeder Rasse die Praxis besucht haben. In deinem Datensatz gibt es aber Hunde wie Max und Stella, die mehrmals beim Tierarzt waren. Du kannst also nicht einfach die Anzahl der Rassen in der Spalte "breed" zählen.

print(vet_visits)
          date     name        breed  weight_kg
0   2018-09-02    Bella     Labrador      24.87
1   2019-06-07      Max     Labrador      28.35
2   2018-01-17   Stella    Chihuahua       1.51
3   2019-10-19     Lucy    Chow Chow      24.07
..         ...      ...          ...        ...
71  2018-01-20   Stella    Chihuahua       2.83
72  2019-06-07      Max    Chow Chow      24.01
73  2018-08-20     Lucy    Chow Chow      24.40
74  2019-04-22      Max     Labrador      28.54

Um das zu erreichen, entfernst du Zeilen, deren Hundename bereits früher vorkommt – sprich, du nimmst jeden Namen nur einmal aus dem Datensatz.

Das erledigst du mit der Methode drop_duplicates. Sie nimmt das Argument subset, also die Spalte(n), anhand derer Duplikate bestimmt werden – hier wollen wir alle eindeutigen Namen.

vet_visits.drop_duplicates(subset="name")
          date     name        breed  weight_kg
0   2018-09-02    Bella     Labrador      24.87
1   2019-06-07      Max    Chow Chow      24.01
2   2019-03-19  Charlie       Poodle      24.95
3   2018-01-17   Stella    Chihuahua       1.51
4   2019-10-19     Lucy    Chow Chow      24.07
7   2019-03-30   Cooper    Schnauzer      16.91
10  2019-01-04   Bernie  St. Bernard      74.98
(6  2019-06-07      Max     Labrador      28.35)

Aber was ist, wenn es Hunde mit demselben Namen gibt?

Doppelte Paare entfernen

Dann müssen wir beim Entfernen von Duplikaten mehr als nur name berücksichtigen. Da Max und Max unterschiedlichen Rassen angehören, können wir Zeilen entfernen, in denen das Paar aus Name und Rasse bereits früher im Datensatz vorkam.

unique_dogs = vet_visits.drop_duplicates(subset=["name", "breed"])
print(unique_dogs)
          date     name        breed  weight_kg
0   2018-09-02    Bella     Labrador      24.87
1   2019-03-13      Max    Chow Chow      24.13
2   2019-03-19  Charlie       Poodle      24.95
3   2018-01-17   Stella    Chihuahua       1.51
4   2019-10-19     Lucy    Chow Chow      24.07
6   2019-06-07      Max     Labrador      28.35
7   2019-03-30   Cooper    Schnauzer      16.91
10  2019-01-04   Bernie  St. Bernard      74.98

Um Duplikate auf Basis mehrerer Spalten zu entfernen, übergeben wir dem Argument subset eine Liste von Spaltennamen – hier name und breed.

Jetzt sind beide Max enthalten.

Interaktives Beispiel

In dieser Übung erstellst du neue DataFrames mit eindeutigen Werten aus sales. sales ist vorhanden und pandas ist als pd importiert.

Du führst folgende Schritte aus:

  • Entferne zunächst Zeilen aus sales mit doppelten Paaren aus store und type, speichere das als store_types und gib den Kopf aus.
  • Entferne dann Zeilen aus sales mit doppelten Paaren aus store und department, speichere das als store_depts und gib den Kopf aus.
  • Subsette die Zeilen, die Feiertagswochen sind, und entferne doppelte date-Werte. Speichere das als holiday_dates.
  • Wähle abschließend die Spalte date aus holiday_dates und gib das DataFrame holiday_dates aus.
# Doppelte Kombinationen aus store/type entfernen
store_types = sales.drop_duplicates(subset=["store", "type"])
print(store_types.head())

# Doppelte Kombinationen aus store/department entfernen
store_depts = sales.drop_duplicates(subset=["store", "department"])
print(store_depts.head())

# Zeilen mit Feiertagswochen subsetten und doppelte Daten entfernen
holiday_dates = sales[sales["is_holiday"]].drop_duplicates(subset="date")

# Spalte date von holiday_dates ausgeben
print(holiday_dates["date"])

Wenn wir den obigen Code ausführen, erhalten wir folgendes Ergebnis:

      store type  department       date  weekly_sales  is_holiday  temperature_c  fuel_price_usd_per_l  unemployment
0         1    A           1 2010-02-05      24924.50       False          5.728                 0.679         8.106
901       2    A           1 2010-02-05      35034.06       False          4.550                 0.679         8.324
1798      4    A           1 2010-02-05      38724.42       False          6.533                 0.686         8.623
2699      6    A           1 2010-02-05      25619.00       False          4.683                 0.679         7.259
3593     10    B           1 2010-02-05      40212.84       False         12.411                 0.782         9.765
    store type  department       date  weekly_sales  is_holiday  temperature_c  fuel_price_usd_per_l  unemployment
0       1    A           1 2010-02-05      24924.50       False          5.728                 0.679         8.106
12      1    A           2 2010-02-05      50605.27       False          5.728                 0.679         8.106
24      1    A           3 2010-02-05      13740.12       False          5.728                 0.679         8.106
36      1    A           4 2010-02-05      39954.04       False          5.728                 0.679         8.106
48      1    A           5 2010-02-05      32229.38       False          5.728                 0.679         8.106
498    2010-09-10
691    2011-11-25
2315   2010-02-12
6735   2012-09-07
6810   2010-12-31
6815   2012-02-10
6820   2011-09-09
Name: date, dtype: datetime64[ns]

Probiere es selbst aus.

Um mehr über das Zählen und Aggregieren von Daten zu lernen, sieh dir dieses Video aus unserem Kurs Data Manipulation with pandas an.

Dieser Inhalt stammt aus dem DataCamp-Kurs Data Manipulation with pandas von Maggie Matsui und Richie Cotton.

Themen
Python

Erfahre mehr über Python und pandas

Kurs

Datenbearbeitung mit pandas

4 Std.
563.9K
Erweitere deine pandas-Kenntnisse und lerne, wie du Daten importierst und bereinigst, Kennzahlen berechnest und Visualisierungen erstellst.
Details anzeigenRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow