Aan de slagBegin gratis

Records verwijderen met tekstfilters

Het is de moeite waard om je klanten veel vragen te stellen en de tijd te nemen om je variabelen te begrijpen. Je komt erachter dat een 'assumable mortgage' ongebruikelijk is in de vastgoedsector en je klant stelt voor om ze uit te sluiten. In deze oefening gebruiken we isin(), dat lijkt op like() maar waarmee je een lijst met waarden kunt doorgeven als filter in plaats van slechts één waarde.

Deze oefening maakt deel uit van de cursus

Feature Engineering met PySpark

Bekijk cursus

Oefeninstructies

  • Gebruik select() en show() om de unieke waarden in de kolom 'ASSUMABLEMORTGAGE' te bekijken en maak de lijst yes_values voor alle waarden die de string 'Yes' bevatten.
  • Gebruik ~df['ASSUMABLEMORTGAGE'], isin() en .isNull() om een NIET-filter te maken dat records verwijdert met overeenkomstige waarden in de lijst yes_values en records met null-waarden behoudt. Sla dit filter op in de variabele text_filter.
  • Gebruik where() om de text_filter toe te passen op df.
  • Print het aantal overgebleven records in df.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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(____.____())
Code bewerken en uitvoeren