使用文本过滤移除记录
与客户多沟通、弄清每个变量的含义非常重要。您了解到,在房地产行业中,可承接按揭并不常见,客户建议将这类记录排除。在本练习中,我们将使用 isin()。它与 like() 相似,但允许传入一个值列表作为过滤条件,而不是单个值。
本练习是课程的一部分
使用 PySpark 进行特征工程
练习说明
- 使用
select()和show()查看列'ASSUMABLEMORTGAGE'的去重取值,并为所有包含字符串'Yes'的取值创建列表yes_values。 - 使用
~df['ASSUMABLEMORTGAGE']、isin()和.isNull()创建一个 NOT 过滤器,以移除包含列表yes_values中相应取值的记录,并保留空值记录。将该过滤器存入变量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(____.____())