开始使用免费开始使用

日期运算

在本例中,您将验证数据的频率。按设计,Mortgage 数据集应该是每周数据,但我们要通过对报告日期做滞后,然后计算日期差来确认。

回顾一下,创建滞后特征需要先创建一个 window()window() 允许基于一组记录进行计算,并为每条记录返回一个值;在这里,就是上一期的按揭利率。

本练习是课程的一部分

使用 PySpark 进行特征工程

查看课程

练习说明

  • 使用 to_date()mort_df['DATE'] 转为日期类型。
  • 使用 Window() 函数创建一个窗口,并用 orderBy()mort_df[DATE] 排序。
  • 使用 withColumn() 创建新列 DATE-1,通过 lag()DATE 列取滞后,并用 over(w) 指定窗口。
  • 使用 datediff() 计算 DATEDATE-1 的差值,并命名为 Days_Between_Report

交互式实操练习

通过完成这段示例代码来试试这个练习。

from pyspark.sql.functions import lag, datediff, to_date
from pyspark.sql.window import Window

# Cast data type
mort_df = mort_df.withColumn(____, ____(____))

# Create window
w = ____().____(____)
# Create lag column
mort_df = mort_df.____(____, ____(____, count=1).____(w))

# Calculate difference between date columns
mort_df = mort_df.withColumn(____, ____(____, ____))
# Print results
mort_df.select('Days_Between_Report').distinct().show()
编辑并运行代码