Filtrowanie tekstowe – usuwanie rekordów
Zadawanie klientom szczegółowych pytań i dokładne poznanie zmiennych naprawdę się opłaca. Dowiadujesz się, że przejęcie kredytu hipotecznego (assumable mortgage) to rzadkie zjawisko na rynku nieruchomości i klient sugeruje, aby wykluczyć takie przypadki. W tym ćwiczeniu użyjesz isin(), które działa podobnie do like(), ale pozwala przekazać listę wartości jako filtr zamiast pojedynczej wartości.
To ćwiczenie jest częścią kursu
Inżynieria cech z PySpark
Instrukcje do ćwiczenia
- Użyj
select()ishow(), aby sprawdzić unikalne wartości w kolumnie'ASSUMABLEMORTGAGE', a następnie utwórz listęyes_valueszawierającą wszystkie wartości z ciągiem'Yes'. - Użyj
~df['ASSUMABLEMORTGAGE'],isin()oraz.isNull(), aby utworzyć filtr negujący – odrzucający rekordy z wartościami z listyyes_valuesi zachowujący rekordy z wartościami null. Zapisz ten filtr w zmiennejtext_filter. - Użyj
where(), aby zastosowaćtext_filterdodf. - Wyświetl liczbę rekordów pozostałych w
df.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____.____())