Pengantar PySpark
Ben Schmidt
Data Engineer
.na.drop() untuk menghapus baris dengan nilai null# Hapus baris dengan nilai null df_cleaned = df.na.drop()# Saring nilai null df_cleaned = df.where(col("columnName").isNotNull())
.na.fill({"column": value}) untuk mengganti null dengan nilai tertentu# Isi null di kolom usia dengan nilai 0
df_filled = df.na.fill({"age": 0})
.withColumn() untuk menambah kolom baru berdasarkan perhitungan atau kolom yang ada# Buat kolom baru 'age_plus_5'
df = df.withColumn("age_plus_5", df["age"] + 5)
withColumnRenamed() untuk mengganti nama kolom# Ganti nama kolom 'age' menjadi 'years'
df = df.withColumnRenamed("age", "years")
drop() untuk menghapus kolom yang tidak diperlukan# Hapus kolom 'department'
df = df.drop("department")
.filter() untuk memilih baris berdasarkan kondisi tertentu# Saring baris di mana gaji lebih dari 50000
filtered_df = df.filter(df["salary"] > 50000)
.groupBy() dan fungsi agregat (misalnya, .sum(), .avg()) untuk meringkas data# Kelompokkan berdasarkan departemen dan hitung rata-rata gaji
grouped_df = df.groupBy("department").avg("salary")
Penyaringan
+------+---+-----------------+
|salary|age| occupation |
+------+---+-----------------+
| 60000| 45|Exec-managerial |
| 70000| 35|Prof-specialty |
+------+---+-----------------+
GroupBy
`
+----------+-----------+
|department|avg(salary)|
+----------+-----------+
| HR| 80000.0|
| IT| 70000.0|
+----------+-----------+
`
# Hapus baris dengan nilai null df_cleaned = df.na.drop()# Hapus null pada kolom df_cleaned = df.where(col("columnName").isNotNull())# Isi null di kolom usia dengan nilai 0 df_filled = df.na.fill({"age": 0})
Gunakan .withColumn() untuk menambah kolom baru berdasarkan perhitungan atau kolom yang ada. Sintaks: .withColumn("new_col_name", "original transformation")
# Buat kolom baru 'age_plus_5'
df = df.withColumn("age_plus_5", df["age"] + 5)
Gunakan withColumnRenamed() untuk mengganti nama kolom
Sintaks: withColumnRenamed(old column name,new column name`
# Ganti nama kolom 'age' menjadi 'years'
df = df.withColumnRenamed("age", "years")
drop() untuk menghapus kolom yang tidak diperlukan
Sintaks: .drop(column name)# Hapus kolom 'department'
df = df.drop("department")
# Saring baris di mana gaji lebih dari 50000
filtered_df = df.filter(df["salary"] > 50000)
.groupBy() dan fungsi agregat (misalnya, .sum(), .avg()) untuk meringkas data # Kelompokkan berdasarkan departemen dan hitung rata-rata gaji
grouped_df = df.groupBy("department").avg("salary")
Pengantar PySpark