Data manipuleren met DataFrames

Introductie tot PySpark

Ben Schmidt

Data Engineer

Omgaan met ontbrekende data

  • Gebruik .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())
  • Gebruik .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})
Introductie tot PySpark

Kolombewerkingen

  • Gebruik .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)
  • Gebruik withColumnRenamed() om kolommen te hernoemen
# Hernoem de kolom 'age' naar 'years'
df = df.withColumnRenamed("age", "years")
  • Gebruik drop() om onnodige kolommen te verwijderen
# Verwijder de kolom 'department'
df = df.drop("department")
Introductie tot PySpark

Rijbewerkingen

  • Gebruik .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)
  • Gebruik .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

Resultaten van rijbewerkingen

  • Filteren

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

`

Introductie tot PySpark

Spiekbriefje

# 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")
  • Gebruik 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)
  • Gebruik .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

Aan de slag!

Introductie tot PySpark

Preparing Video For Download...