开始使用免费开始使用

从文本提取并创建新特征

在明尼苏达州,车库对住房来说非常重要。大多数人都有车,而把停在室外的车清雪很麻烦。车库的类型也很关键——是否能不挨冻就上车?我们来创建一个特征 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)
编辑并运行代码