Introductie tot PySpark
Ben Schmidt
Data Engineer
.na.drop() om rijen met null-waarden te verwijderen# Verwijder rijen met null-waarden df_cleaned = df.na.drop()# Filter null-waarden df_cleaned = df.where(col("columnName").isNotNull())
.na.fill({"column": waarde) om null-waarden te vervangen# Vervang null-waarden in de kolom leeftijd met 0
df_filled = df.na.fill({"age": 0})
.withColumn() om een nieuwe kolom toe te voegen op basis van berekeningen of bestaande kolommen# Maak een nieuwe kolom 'age_plus_5'
df = df.withColumn("age_plus_5", df["age"] + 5)
withColumnRenamed() om kolommen te hernoemen# Hernoem de kolom 'age' naar 'years'
df = df.withColumnRenamed("age", "years")
drop() om onnodige kolommen te verwijderen# Verwijder de kolom 'department'
df = df.drop("department")
.filter() om rijen te selecteren op basis van specifieke voorwaarden# Filter rijen waar salaris groter is dan 50000
filtered_df = df.filter(df["salary"] > 50000)
.groupBy() en aggregatiefuncties (bijv. .sum(), .avg()) om data samen te vatten# Groepeer op afdeling en bereken het gemiddelde salaris
grouped_df = df.groupBy("department").avg("salary")
Filteren
+------+---+-----------------+
|salary|age| occupation |
+------+---+-----------------+
| 60000| 45|Exec-managerial |
| 70000| 35|Prof-specialty |
+------+---+-----------------+
Groeperen
`
+----------+-----------+
|department|avg(salary)|
+----------+-----------+
| HR| 80000.0|
| IT| 70000.0|
+----------+-----------+
`
# Verwijder rijen met null-waarden df_cleaned = df.na.drop()# Verwijder null-waarden in een kolom df_cleaned = df.where(col("columnName").isNotNull())# Vervang null-waarden in de kolom leeftijd met 0 df_filled = df.na.fill({"age": 0})
Gebruik .withColumn() om een nieuwe kolom toe te voegen op basis van berekeningen of bestaande kolommen. Syntax: .withColumn("nieuwe_kolom_naam", "originele transformatie")
# Maak een nieuwe kolom 'age_plus_5'
df = df.withColumn("age_plus_5", df["age"] + 5)
Gebruik withColumnRenamed() om kolommen te hernoemen
Syntax: withColumnRenamed(oude kolomnaam,nieuwe kolomnaam`
# Hernoem de kolom 'age' naar 'years'
df = df.withColumnRenamed("age", "years")
drop() om onnodige kolommen te verwijderen
Syntax: .drop(kolomnaam)# Verwijder de kolom 'department'
df = df.drop("department")
# Filter rijen waar salaris groter is dan 50000
filtered_df = df.filter(df["salary"] > 50000)
.groupBy() en aggregatiefuncties (bijv. .sum(), .avg()) om data samen te vatten # Groepeer op afdeling en bereken het gemiddelde salaris
grouped_df = df.groupBy("department").avg("salary")
Introductie tot PySpark