Видалення записів за текстовими фільтрами
Корисно ставити клієнтам багато запитань і приділяти час розумінню своїх змінних. Ви з'ясували, що Assumable mortgage — рідкісне явище на ринку нерухомості, тож клієнт радить їх виключити. У цій вправі ми використаємо isin(), яка подібна до like(), але дозволяє передати список значень як фільтр, а не одне значення.
Ця вправа є частиною курсу
Опрацювання ознак у PySpark
Інструкції до вправи
- Використайте
select()іshow(), щоб переглянути унікальні значення у стовпці'ASSUMABLEMORTGAGE', і створіть списокyes_valuesдля всіх значень, що містять рядок'Yes'. - Використайте
~df['ASSUMABLEMORTGAGE'],isin()та.isNull(), щоб створити заперечний (NOT) фільтр: вилучити записи, що містять відповідні значення зі спискуyes_values, і залишити записи з null-значеннями. Збережіть цей фільтр у зміннійtext_filter. - Використайте
where(), щоб застосуватиtext_filterдоdf. - Виведіть кількість записів, що залишилися в
df.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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(____.____())