Pivot ve Join
Bileşik bir alanı explode edip pivotlamak harika, ancak geriye sadece pivotlanmış değerlerden oluşan bir dataframe kalır. Gerçekten işe yaraması için bunu orijinal veri kümesiyle yeniden birleştirmen gerekir! Veri kümelerini birleştirdikten sonra yeni oluşturulan sütunlar için çok sayıda NULL değerimiz olacak; nasıl oluşturulduklarını bildiğimiz için bunları güvenle sıfırla doldurabiliriz — ya yeni veride bir özellik vardır ya da yoktur.
Bu egzersiz, kursun bir parçasıdır
PySpark ile Özellik Mühendisliği
Egzersiz talimatları
ex_garage_listdeğerlerini, kayıt id'siNOilegroupBy()yaparak pivotla; null'ları yok saymak ve ilk değeri almak için sağlanan kodlaconstant_valdeğerini topla.piv_df'iNObirleştirme koşuluyladfile left join yap.piv_dfüzerindekicolumnsözniteliğini kullanarak sıfırla doldurulacak sütunların listesini,zfill_cols, oluştur.fillna()vesubsetkullanarak pivotlanmış dataframe'in sütunlarını,zfill_cols, sıfırla doldur.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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=____)