0Pricing
Python Academy · Lektion

Zusammenführen, Verbinden und Datenbereinigung

Kombinieren Sie DataFrames und behandeln Sie fehlende Werte professionell.

Zusammenführen, Verbinden und Datenbereinigung ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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 Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

pd.merge

pd.merge(left, right, on="key") verbindet zwei DataFrames anhand einer gemeinsamen Spalte – ähnlich wie ein SQL-JOIN.

import pandas as pd

users = pd.DataFrame({"id":[1,2,3],"name":["A","B","C"]})
orders = pd.DataFrame({"user_id":[1,1,2],"amount":[100,50,200]})
result = pd.merge(users, orders, left_on="id", right_on="user_id")
print(result)

Join-Typen

Geben Sie how="inner" (Standard), "left", "right" oder "outer" an, um festzulegen, welche Zeilen beibehalten werden.

import pandas as pd

A = pd.DataFrame({"key":["a","b","c"],"val":[1,2,3]})
B = pd.DataFrame({"key":["b","c","d"],"x":[10,20,30]})

print(pd.merge(A, B, on="key", how="left"))   # all of A
print(pd.merge(A, B, on="key", how="outer"))  # all rows

df.join

df.join(other) verbindet anhand des Index. Das ist schneller und einfacher, wenn nach dem Index statt nach einer Spalte zusammengeführt wird.

import pandas as pd

df1 = pd.DataFrame({"a":[1,2]}, index=["x","y"])
df2 = pd.DataFrame({"b":[3,4]}, index=["x","y"])
print(df1.join(df2))
# x: a=1 b=3
# y: a=2 b=4

concat

pd.concat([df1, df2]) reiht DataFrames vertikal (axis=0) oder horizontal (axis=1) aneinander.

import pandas as pd

df1 = pd.DataFrame({"a":[1,2]})
df2 = pd.DataFrame({"a":[3,4]})
print(pd.concat([df1,df2], ignore_index=True))
# a: 1 2 3 4

# Horizontal:
df3 = pd.DataFrame({"b":[5,6]})
print(pd.concat([df1,df3], axis=1))

Umgang mit fehlenden Werten

Erkennen Sie NaN mit isna()/notna(). Füllen Sie fehlende Werte mit fillna() auf. Entfernen Sie sie mit dropna().

import pandas as pd, numpy as np

df = pd.DataFrame({"a":[1,np.nan,3],"b":[np.nan,2,3]})
print(df.isna().sum())      # count nulls per column
df["a"] = df["a"].fillna(0)
df = df.dropna()            # drop rows with any null

fillna-Strategien

Füllen Sie fehlende Werte mit einer Konstanten, durch Vorwärtsauffüllen (ffill), durch Rückwärtsauffüllen (bfill) oder mit dem Spaltenmittelwert auf.

import pandas as pd, numpy as np

df = pd.DataFrame({"val":[1, np.nan, np.nan, 4]})
print(df["val"].ffill())   # forward fill: 1 1 1 4
print(df["val"].bfill())   # back fill:    1 4 4 4
print(df["val"].fillna(df["val"].mean()))   # fill with mean

Datentypen ändern

Verwenden Sie astype(), um Spaltentypen zu konvertieren. Verwenden Sie pd.to_datetime() zum Parsen von Datumsangaben und pd.to_numeric mit errors="coerce" für eine sichere numerische Konvertierung.

import pandas as pd

df = pd.DataFrame({"age":["25","30","35"],"date":["2024-01-01","2024-06-15","2024-12-31"]})
df["age"] = df["age"].astype(int)
df["date"] = pd.to_datetime(df["date"])
print(df.dtypes)

Strings bereinigen

Der .str-Accessor von Pandas stellt vektorisierte String-Operationen bereit: strip(), lower(), replace(), extract().

import pandas as pd

df = pd.DataFrame({"name":["  Alice  "," bob","CAROL"]})
df["clean"] = df["name"].str.strip().str.title()
print(df["clean"])   # Alice / Bob / Carol

Spalten umbenennen und neu anordnen

Benennen Sie Spalten mit df.rename(columns={"old":"new"}) um. Ordnen Sie sie neu an, indem Sie mit einer Liste indizieren.

import pandas as pd

df = pd.DataFrame({"a":[1],"b":[2],"c":[3]})
df = df.rename(columns={"a":"alpha","b":"beta"})
df = df[["c","beta","alpha"]]   # reorder
print(df.columns.tolist())      # ['c', 'beta', 'alpha']

Duplikate erkennen

Finden Sie Duplikate mit duplicated() und entfernen Sie sie mit drop_duplicates().

import pandas as pd

df = pd.DataFrame({"id":[1,2,1,3],"val":["a","b","a","c"]})
print(df.duplicated())           # [F F T F]
print(df[df.duplicated()])       # show duplicates
clean = df.drop_duplicates(subset=["id"])

apply für Zeilen- und Spaltentransformationen

df.apply(func, axis=1) wendet eine Funktion auf jede Zeile an. axis=0 wendet sie auf jede Spalte an.

import pandas as pd

df = pd.DataFrame({"a":[1,2,3],"b":[4,5,6]})
# New column = row sum:
df["total"] = df.apply(lambda row: row["a"] + row["b"], axis=1)
print(df)

Schnelltest

Was bewirkt df.fillna(method="ffill")?

Zusammenfassung

Verwenden Sie pd.merge für Joins im SQL-Stil und pd.concat zum Aneinanderreihen. Behandeln Sie NaN mit isna(), fillna() und dropna(). Bereinigen Sie Strings mit dem .str-Accessor. Konvertieren Sie Datentypen mit astype() und pd.to_datetime().

Häufig gestellte Fragen

Ist die Lektion „Zusammenführen, Verbinden und Datenbereinigung“ kostenlos?

Ja — der vollständige Text von „Zusammenführen, Verbinden und Datenbereinigung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Zusammenführen, Verbinden und Datenbereinigung“?

Kombinieren Sie DataFrames und behandeln Sie fehlende Werte professionell. Du übst Python 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 Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python 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 4 von 4.

Wie lange dauert die Lektion „Zusammenführen, Verbinden und Datenbereinigung“?

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 Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python 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

  1. Grundlagen von Series und DataFrame
  2. Indizierung, Filtern und boolesche Masken
  3. GroupBy, Aggregation und Pivot-Tabellen
  4. Zusammenführen, Verbinden und Datenbereinigung
← Zurück zu Python Academy