Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Filtern und Auswählen von Daten mit Python | Working With Data
Databricks-Grundlagen: Ein Leitfaden für Einsteiger

Filtern und Auswählen von Daten mit Python

Swipe um das Menü anzuzeigen

Note
Definition

Auswählen und Filtern sind die häufigsten Operationen bei der Datenmanipulation. Auswählen ermöglicht das gezielte Auswählen bestimmter Spalten, während Filtern das Eingrenzen der Zeilen anhand spezifischer Kriterien oder Bedingungen erlaubt.

In den meisten realen Szenarien ist es nicht notwendig, mit jeder einzelnen Spalte oder Zeile eines Datasets zu arbeiten. Große Tabellen können Hunderte von Spalten und Millionen von Zeilen enthalten, von denen die meisten für die jeweilige Analyse irrelevant sein können. In diesem Kapitel wird gezeigt, wie Sie mit den Methoden select() und filter() genau die benötigten Daten herausfiltern können.

Auswählen bestimmter Spalten

Die Methode select() ermöglicht das Erstellen eines neuen DataFrames, der nur die ausgewählten Spalten enthält. Dadurch wird der Speicherbedarf des Clusters reduziert und die Ergebnisse werden übersichtlicher.

# Select only two specific columns
selected_df = df.select("carat", "price")

display(selected_df)

Beachte, dass Spark das ursprüngliche df nicht verändert. Stattdessen wird ein neues DataFrame namens selected_df erstellt. Möchte man alle Spalten außer einer auswählen oder während der Auswahl eine Berechnung durchführen, verwendet man eine fortgeschrittenere Syntax. Für grundlegende Aufgaben ist das Übergeben der Spaltennamen als Strings jedoch der Standardansatz.

Filtern von Zeilen mit Bedingungen

Die Methode filter() (oder ihr Alias where()) wirkt wie ein Sieb für die Daten. Es wird eine Bedingung angegeben, und Spark behält nur die Zeilen, bei denen diese Bedingung erfüllt ist.

# Filter for rows where the carat is '0.23'
filtered_df = df.filter(df.carat == 0.23)

display(filtered_df)

Es können Standard-Vergleichsoperatoren wie == (gleich), != (ungleich), > (größer als) und < (kleiner als) verwendet werden.

Kombination mehrerer Filter

Häufig müssen mehrere Regeln gleichzeitig angewendet werden. Dafür können Filter verkettet oder logische Operatoren wie "Und" (&) und "Oder" (|) verwendet werden.

good_carat_df = df.filter((df.carat == 0.23) & (df.cut == "Good"))

display(good_carat_df)
Note
Hinweis

Beim Kombinieren von Filtern mit & oder | sollte jede einzelne Bedingung immer in Klammern gesetzt werden. Dadurch wird sichergestellt, dass Spark die Logik korrekt auswertet.

Auswahl und Filterung in einem Schritt

Da Spark eine "fluent" API verwendet, können diese Befehle in einer einzigen Codezeile miteinander verkettet werden. Dies ist ein sehr gängiges Muster im professionellen Data Engineering:

# Select specific diamonds by `price > 500`
high_profit_df = df.select("carat", "price").filter(df.price > 500)

display(high_profit_df)

Überprüfung der Arbeit

Nach jeder Auswahl oder Filterung empfiehlt es sich, ein count() auszuführen. Wenn Sie mit 10.000 Zeilen beginnen und nach einem Filter 0 Zeilen übrig sind, könnte Ihre Filterbedingung zu streng sein oder einen Tippfehler in den Zeichenfolgenwerten enthalten.

1. Welche Methode würden Sie verwenden, wenn Sie nur 3 Spalten aus einer Tabelle mit 50 Spalten auswählen möchten?

2. Wie filtert man in Python korrekt nach Zeilen, bei denen "Total_Profit" größer als 1000 ist?

question mark

Welche Methode würden Sie verwenden, wenn Sie nur 3 Spalten aus einer Tabelle mit 50 Spalten auswählen möchten?

Wählen Sie die richtige Antwort aus

question mark

Wie filtert man in Python korrekt nach Zeilen, bei denen "Total_Profit" größer als 1000 ist?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 4. Kapitel 4
some-alt