从文本提取并创建新特征
在明尼苏达州,车库对住房来说非常重要。大多数人都有车,而把停在室外的车清雪很麻烦。车库的类型也很关键——是否能不挨冻就上车?我们来创建一个特征 has_attached_garage,用于表示车库是否与房屋相连。
本练习是课程的一部分
使用 PySpark 进行特征工程
练习说明
- 从
pyspark.sql.functions导入所需函数when()。 - 使用
like()创建字符串匹配条件,在df['GARAGEDESCRIPTION']中查找字符串模式Attached Garage,并使用通配符%,使其能在字段的任意位置匹配。 - 同样地,使用
like()再创建一个条件,在df['GARAGEDESCRIPTION']中查找字符串模式Detached Garage,并使用通配符%,使其能在字段的任意位置匹配。 - 使用
when()创建新列has_attached_garage:若为连体车库则赋值 1,若为独立车库则赋值 0;若两者皆非,则使用otherwise()与None赋予空值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Import needed functions
____ ____ ____ ____
# Create boolean conditions for string matches
has_attached_garage = df[____].____(____)
has_detached_garage = df[____].____(____)
# Conditional value assignment
df = df.withColumn(____, (____(____, 1)
.____(____, 0)
.____(____)))
# Inspect results
df[['GARAGEDESCRIPTION', 'has_attached_garage']].show(truncate=100)