Pivot & Join
Mampu melakukan explode dan pivot pada field komposit itu bagus, tetapi Anda hanya akan mendapatkan dataframe berisi nilai hasil pivot saja. Agar benar-benar bermanfaat, Anda perlu menggabungkannya kembali ke himpunan data asli! Setelah menggabungkan himpunan data, akan ada banyak nilai NULL pada kolom yang baru dibuat. Karena kita memahami konteks pembuatannya, kita dapat dengan aman mengisinya dengan nol, sebab entri baru tersebut memiliki atribut atau tidak.
Latihan ini adalah bagian dari kursus
Rekayasa Fitur dengan PySpark
Petunjuk latihan
- Pivot nilai
ex_garage_listdengan mengelompokkan berdasarkan id rekamanNOmenggunakangroupBy(); gunakan kode yang disediakan untuk mengagregasiconstant_valagar mengabaikan null dan mengambil nilai pertama. - Lakukan left join
piv_dfkedfdengan menggunakanNOsebagai kondisi join. - Buat daftar kolom,
zfill_cols, yang akan diisi nol dengan menggunakan atributcolumnspadapiv_df. - Isi nol kolom-kolom hasil pivot,
zfill_cols, dengan menggunakanfillna()besertasubset.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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=____)