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 rowsdf.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=4concat
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 nullfillna-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 meanDatentypen ä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 / CarolSpalten 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
- Grundlagen von Series und DataFrame
- Indizierung, Filtern und boolesche Masken
- GroupBy, Aggregation und Pivot-Tabellen
- Zusammenführen, Verbinden und Datenbereinigung