Datensätze mit Textfiltern entfernen
Es lohnt sich, viele Fragen an deine Kundschaft zu stellen und dir Zeit zu nehmen, deine Variablen zu verstehen. Du findest heraus, dass eine "assumable mortgage" (übernehmbare Hypothek) in der Immobilienbranche ungewöhnlich ist, und dein Kunde schlägt vor, sie auszuschließen. In dieser Übung verwenden wir isin(), das like() ähnelt, uns aber erlaubt, eine Liste von Werten als Filter zu übergeben statt nur einen einzelnen.
Diese Übung ist Teil des Kurses
<Kurs>Feature Engineering mit PySpark</Kurs>Übungsanweisungen
- Verwende
select()undshow(), um die unterschiedlichen Werte in der Spalte'ASSUMABLEMORTGAGE'zu prüfen, und erstelle die Listeyes_valuesfür alle Werte, die den String'Yes'enthalten. - Verwende
~df['ASSUMABLEMORTGAGE'],isin()und.isNull(), um einen NOT-Filter zu erstellen, der Datensätze mit den entsprechenden Werten aus der Listeyes_valuesentfernt und Datensätze mit Null-Werten beibehält. Speichere diesen Filter in der Variabletext_filter. - Verwende
where(), um dentext_filteraufdfanzuwenden. - Gib die Anzahl der verbleibenden Datensätze in
dfaus.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Inspect unique values in the column 'ASSUMABLEMORTGAGE'
df.____([____]).distinct().____()
# List of possible values containing 'yes'
yes_values = [____, ____]
# Filter the text values out of df but keep null values
text_filter = ~df['ASSUMABLEMORTGAGE'].isin(____) | df['ASSUMABLEMORTGAGE'].isNull()
df = df.____(text_filter)
# Print count of remaining records
print(____.____())