05 - Feature Creation


标题: “05 - 特征创建” 权重: 07


在这个阶段,我们有了上车和下车的时间戳,但我们更感兴趣的是上车时间戳和行程时长。因此,我们想创建一个新的特征ride duration作为上车和下车时间之间的差值(以分钟为单位)。Data Wrangler中没有内置的日期差异转换功能,但我们可以在Data Wrangler中使用自定义转换来创建这个特征。自定义转换允许我们使用Pyspark、Pandas或Pyspark(SQL)来定义自己的转换。对于这三个选项,我们都使用变量df来访问要应用转换的数据框架。我们不需要包含返回语句。

要创建自定义转换,我们必须:

  • 点击转换元素集合旁边的加号,选择"添加转换”。
  • 在TRANSFORMS菜单中点击橙色的"+ 添加步骤"按钮。
  • 选择自定义转换。
  • 在下拉菜单中选择"Python (PySpark)"",并粘贴下面提供的代码片段。这段代码将导入函数,通过将两个时间戳转换为Unix格式(实数)并四舍五入来计算它们之间的差值。它还删除了tpep_dropoff_datetime列。
from pyspark.sql.functions import col round
df = df.withColumn('duration' round((col("tpep_dropoff_datetime").cast("long")-col("tpep_pickup_datetime").cast("long"))/60 2))
df = df.drop("tpep_dropoff_datetime")

  • 选择预览
  • 选择添加以保存该步骤。

当自定义转换应用于数据时,我们应该能够看到到目前为止的所有当前步骤,并获得一个带有新列duration且没有tpep_dropoff_datetime列的结果数据集的预览。

点击"返回数据流"返回到块图编辑器窗口。