MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Pivot nilai ex_garage_list dengan mengelompokkan berdasarkan id rekaman NO menggunakan groupBy(); gunakan kode yang disediakan untuk mengagregasi constant_val agar mengabaikan null dan mengambil nilai pertama.
  • Lakukan left join piv_df ke df dengan menggunakan NO sebagai kondisi join.
  • Buat daftar kolom, zfill_cols, yang akan diisi nol dengan menggunakan atribut columns pada piv_df.
  • Isi nol kolom-kolom hasil pivot, zfill_cols, dengan menggunakan fillna() beserta subset.

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=____)
Edit dan Jalankan Kode