DataFrames ile veri manipülasyonu

PySpark'e Giriş

Ben Schmidt

Data Engineer

Eksik verileri işleme

  • Boş değer içeren satırları kaldırmak için .na.drop() kullanın
# Boş değer içeren satırları kaldır
df_cleaned = df.na.drop()

# Boş değerleri filtrele df_cleaned = df.where(col("columnName").isNotNull())
  • Belirli bir değerle boşları değiştirmek için .na.fill({"column": value}) kullanın
# Yaş sütunundaki boşları 0 ile doldur
df_filled = df.na.fill({"age": 0})
PySpark'e Giriş

Sütun işlemleri

  • Hesaplamalar veya mevcut sütunlara dayalı yeni bir sütun eklemek için .withColumn() kullanın
# 'age_plus_5' adında yeni bir sütun oluştur
df = df.withColumn("age_plus_5", df["age"] + 5)
  • Sütunları yeniden adlandırmak için withColumnRenamed() kullanın
# 'age' sütununu 'years' olarak yeniden adlandır
df = df.withColumnRenamed("age", "years")
  • Gereksiz sütunları kaldırmak için drop() kullanın
# 'department' sütununu kaldır
df = df.drop("department")
PySpark'e Giriş

Satır işlemleri

  • Belirli koşullara göre satırları seçmek için .filter() kullanın
# Maaşı 50000'den büyük olan satırları filtrele
filtered_df = df.filter(df["salary"] > 50000)
  • Verileri özetlemek için .groupBy() ve toplama fonksiyonları (örn. .sum(), .avg()) kullanın
# Departmana göre grupla ve ortalama maaşı hesapla
grouped_df = df.groupBy("department").avg("salary")
PySpark'e Giriş

Satır İşlemleri Sonuçları

  • Filtreleme

    +------+---+-----------------+
    |salary|age|      occupation |
    +------+---+-----------------+
    | 60000| 45|Exec-managerial  |
    | 70000| 35|Prof-specialty   |
    +------+---+-----------------+
    
  • GroupBy ` +----------+-----------+ |department|avg(salary)| +----------+-----------+ | HR| 80000.0| | IT| 70000.0| +----------+-----------+

`

PySpark'e Giriş

Hızlı Başvuru Kılavuzu

# Boş değer içeren satırları kaldır
df_cleaned = df.na.drop()

# Bir sütundaki boşları kaldır df_cleaned = df.where(col("columnName").isNotNull())
# Yaş sütunundaki boşları 0 ile doldur df_filled = df.na.fill({"age": 0})
  • Hesaplamalar veya mevcut sütunlara dayalı yeni bir sütun eklemek için .withColumn() kullanın. Söz Dizimi: .withColumn("yeni_sütun_adı", "orijinal dönüşüm")

    # 'age_plus_5' adında yeni bir sütun oluştur
    df = df.withColumn("age_plus_5", df["age"] + 5)
    
  • Sütunları yeniden adlandırmak için withColumnRenamed() kullanın Söz Dizimi: withColumnRenamed(eski sütun adı,yeni sütun adı`

# 'age' sütununu 'years' olarak yeniden adlandır
df = df.withColumnRenamed("age", "years")
  • Gereksiz sütunları kaldırmak için drop() kullanın Söz Dizimi: .drop(sütun adı)
# 'department' sütununu kaldır
df = df.drop("department")
# Maaşı 50000'den büyük olan satırları filtrele
filtered_df = df.filter(df["salary"] > 50000)
  • Verileri özetlemek için .groupBy() ve toplama fonksiyonları (örn. .sum(), .avg()) kullanın
# Departmana göre grupla ve ortalama maaşı hesapla
grouped_df = df.groupBy("department").avg("salary")
PySpark'e Giriş

Hadi pratik yapalım!

PySpark'e Giriş

Preparing Video For Download...