DataFrame sütun işlemleri

PySpark ile Veri Temizleme

Mike Metzger

Data Engineering Consultant

DataFrame tazeleme

DataFrame'ler:

  • Satır ve sütunlardan oluşur
  • Değiştirilemez (immutable)
  • Veriyi değiştirmek için çeşitli dönüşümler kullanılır
# Adı "M" ile başlayan satırları döndür
voter_df.filter(voter_df.name.like('M%'))

# Yalnızca ad ve pozisyonu döndür voters = voter_df.select('name', 'position')
PySpark ile Veri Temizleme

Yaygın DataFrame dönüşümleri

  • Filter / Where
    voter_df.filter(voter_df.date > '1/1/2019') # veya 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')
    
PySpark ile Veri Temizleme

Veri filtreleme

  • Null'ları kaldır
  • Uygunsuz girdileri kaldır
  • Birleşik kaynaklardan gelen veriyi ayır
  • ~ ile olumsuzla
    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())
    
PySpark ile Veri Temizleme

Sütun metin dönüşümleri

  • pyspark.sql.functions içinde yer alır
    import pyspark.sql.functions as F
    
  • Sütun başına dönüşüm olarak uygulanır
    voter_df.withColumn('upper', F.upper('name'))
    
  • Ara sütunlar oluşturabilir
    voter_df.withColumn('splits', F.split('name', ' '))
    
  • Diğer tiplere dönüştürebilir (cast)
    voter_df.withColumn('year', voter_df['_c4'].cast(IntegerType()))
    
PySpark ile Veri Temizleme

ArrayType() sütun işlevleri

ArrayType() ile etkileşim için çeşitli yardımcı işlevler/dönüşümler

.size(<column>) - ArrayType() sütununun uzunluğunu döndürür

.getItem(<index>) - liste sütununda belirli indeksteki öğeyi getirir.

PySpark ile Veri Temizleme

Hadi pratik yapalım!

PySpark ile Veri Temizleme

Preparing Video For Download...