Вступ до PySpark
Ben Schmidt
Data Engineer
.na.drop(), щоб прибрати рядки з null-значеннями# Видалити рядки з будь-якими null df_cleaned = df.na.drop()# Відфільтрувати null-значення df_cleaned = df.where(col("columnName").isNotNull())
.na.fill({"column": value), щоб замінити null на вказане значення# Заповнити null у стовпці age значенням 0
df_filled = df.na.fill({"age": 0})
.withColumn(), щоб додати новий стовпець на основі обчислень або наявних стовпців# Створити новий стовпець 'age_plus_5'
df = df.withColumn("age_plus_5", df["age"] + 5)
withColumnRenamed(), щоб перейменувати стовпці# Перейменувати стовпець 'age' на 'years'
df = df.withColumnRenamed("age", "years")
drop(), щоб видалити зайві стовпці# Видалити стовпець 'department'
df = df.drop("department")
.filter(), щоб вибрати рядки за умовами# Вибрати рядки, де salary більше за 50000
filtered_df = df.filter(df["salary"] > 50000)
.groupBy() та агрегатні функції (напр., .sum(), .avg()), щоб підсумувати дані# Згрупувати за department і обчислити середню зарплату
grouped_df = df.groupBy("department").avg("salary")
Фільтрування
+------+---+-----------------+
|salary|age| occupation |
+------+---+-----------------+
| 60000| 45|Exec-managerial |
| 70000| 35|Prof-specialty |
+------+---+-----------------+
GroupBy
`
+----------+-----------+
|department|avg(salary)|
+----------+-----------+
| HR| 80000.0|
| IT| 70000.0|
+----------+-----------+
`
# Видалити рядки з будь-якими null df_cleaned = df.na.drop()#Drop nulls on a column df_cleaned = df.where(col("columnName").isNotNull())# Заповнити null у стовпці age значенням 0 df_filled = df.na.fill({"age": 0})
Використовуйте .withColumn(), щоб додати новий стовпець на основі обчислень або наявних стовпців. Синтаксис: .withColumn("new_col_name", "original transformation")
# Створити новий стовпець 'age_plus_5'
df = df.withColumn("age_plus_5", df["age"] + 5)
Використовуйте withColumnRenamed(), щоб перейменувати стовпці
Синтаксис: withColumnRenamed(old column name,new column name`
# Перейменувати стовпець 'age' на 'years'
df = df.withColumnRenamed("age", "years")
drop(), щоб видалити зайві стовпці
Синтаксис: .drop(column name)# Видалити стовпець 'department'
df = df.drop("department")
# Вибрати рядки, де salary більше за 50000
filtered_df = df.filter(df["salary"] > 50000)
.groupBy() та агрегатні функції (напр., .sum(), .avg()), щоб підсумувати дані # Згрупувати за department і обчислити середню зарплату
grouped_df = df.groupBy("department").avg("salary")
Вступ до PySpark