Operasi kolom DataFrame

Membersihkan Data dengan PySpark

Mike Metzger

Data Engineering Consultant

Pengingat DataFrame

DataFrame:

  • Terdiri dari baris & kolom
  • Immutable (tidak dapat diubah)
  • Gunakan beragam transformasi untuk memodifikasi data
# Kembalikan baris dengan name diawali "M" 
voter_df.filter(voter_df.name.like('M%'))

# Kembalikan hanya name dan position voters = voter_df.select('name', 'position')
Membersihkan Data dengan PySpark

Transformasi umum pada DataFrame

  • Filter / Where
    voter_df.filter(voter_df.date > '1/1/2019') # atau voter_df.where(...)
    
  • Select
    voter_df.select(voter_df.name)
    
  • withColumn
    voter_df.withColumn('year', voter_df.date.year)
    
  • drop
    voter_df.drop('unused_column')
    
Membersihkan Data dengan PySpark

Memfilter data

  • Hapus nilai null
  • Hapus entri janggal
  • Pisahkan data dari sumber gabungan
  • Negasikan dengan ~
    voter_df.filter(voter_df['name'].isNotNull())
    voter_df.filter(voter_df.date.year > 1800)
    voter_df.where(voter_df['_c0'].contains('VOTE'))
    voter_df.where(~ voter_df._c1.isNull())
    
Membersihkan Data dengan PySpark

Transformasi string kolom

  • Tersedia di pyspark.sql.functions
    import pyspark.sql.functions as F
    
  • Diterapkan per kolom sebagai transformasi
    voter_df.withColumn('upper', F.upper('name'))
    
  • Dapat membuat kolom perantara
    voter_df.withColumn('splits', F.split('name', ' '))
    
  • Dapat cast ke tipe lain
    voter_df.withColumn('year', voter_df['_c4'].cast(IntegerType()))
    
Membersihkan Data dengan PySpark

Fungsi kolom ArrayType()

Berbagai fungsi/utilitas untuk berinteraksi dengan ArrayType()

.size(<column>) - mengembalikan panjang kolom ArrayType()

.getItem(<index>) - mengambil item pada indeks tertentu dari kolom list.

Membersihkan Data dengan PySpark

Ayo berlatih!

Membersihkan Data dengan PySpark

Preparing Video For Download...