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

Pivot і Join

Уміння «розгортати» (explode) та робити «зведення» (pivot) складеного поля — це чудово, але після цього ви отримуєте датафрейм лише з тими зведеними значеннями. Щоб це було справді корисно, потрібно знову приєднати його до початкового набору даних. Після з'єднання з'явиться багато значень NULL у щойно створених стовпцях. Оскільки ми знаємо контекст їх створення, можемо безпечно заповнити їх нулями: атрибут або є, або його немає.

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

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

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

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

  • Зробіть pivot значень ex_garage_list, згрупувавши за ідентифікатором запису NO за допомогою groupBy(). Використайте наданий код, щоб агрегувати constant_val, ігноруючи null, та взяти перше значення.
  • Виконайте ліве з'єднання piv_df з df, використовуючи NO як умову з'єднання.
  • Створіть список стовпців zfill_cols для заповнення нулями, використавши атрибут columns у piv_df.
  • Заповніть нулями стовпці зведеного датафрейму zfill_cols, застосувавши fillna() із параметром subset.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

from pyspark.sql.functions import coalesce, first

# Pivot 
piv_df = ex_df.____(____).____(____).agg(coalesce(first(____)))

# Join the dataframes together and fill null
joined_df = ____.join(____, on='NO', how=____)

# Columns to zero fill
zfill_cols = ____.____

# Zero fill the pivoted values
zfilled_df = joined_df.____(0, subset=____)
Редагувати та запускати код