PySpark'e Giriş
Ben Schmidt
Data Engineer
.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())
.na.fill({"column": value}) kullanın# Yaş sütunundaki boşları 0 ile doldur
df_filled = df.na.fill({"age": 0})
.withColumn() kullanın# 'age_plus_5' adında yeni bir sütun oluştur
df = df.withColumn("age_plus_5", df["age"] + 5)
withColumnRenamed() kullanın# 'age' sütununu 'years' olarak yeniden adlandır
df = df.withColumnRenamed("age", "years")
drop() kullanın# 'department' sütununu kaldır
df = df.drop("department")
.filter() kullanın# Maaşı 50000'den büyük olan satırları filtrele
filtered_df = df.filter(df["salary"] > 50000)
.groupBy() ve toplama fonksiyonları (örn. .sum(), .avg()) kullanın# Departmana göre grupla ve ortalama maaşı hesapla
grouped_df = df.groupBy("department").avg("salary")
Filtreleme
+------+---+-----------------+
|salary|age| occupation |
+------+---+-----------------+
| 60000| 45|Exec-managerial |
| 70000| 35|Prof-specialty |
+------+---+-----------------+
GroupBy
`
+----------+-----------+
|department|avg(salary)|
+----------+-----------+
| HR| 80000.0|
| IT| 70000.0|
+----------+-----------+
`
# 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")
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)
.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ş