ПочатиПочніть безкоштовно

Обчислення з датами

У цьому прикладі ми перевіримо частоту наших даних. Набір Mortgage має бути тижневим, але переконаймося в цьому: зсуньте дату звіту назад на один період, а потім візьміть різницю між датами.

Згадайте, що щоб створити зсунуту ознаку, потрібно створити window(). window() дає змогу повертати значення для кожного запису на основі обчислення над групою записів — у нашому випадку це ставка іпотеки за попередній період.

Ця вправа є частиною курсу

Опрацювання ознак у PySpark

Переглянути курс

Інструкції до вправи

  • Приведіть mort_df['DATE'] до типу дати за допомогою to_date()
  • Створіть вікно за допомогою функції Window() і скористайтеся orderBy(), щоб відсортувати за mort_df[DATE]
  • Створіть новий стовпець DATE-1 за допомогою withColumn(), зсунувши стовпець DATE функцією lag() і застосувавши вікно через over(w)
  • Обчисліть різницю між DATE і DATE-1 за допомогою datediff() та назвіть її 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()
Редагувати та запускати код