НачатьНачать бесплатно

Группировка и агрегирование II

Помимо методов GroupedData, с которыми вы уже знакомы, существует также метод .agg(). Он позволяет передавать выражение агрегирования, использующее любую из агрегирующих функций подмодуля pyspark.sql.functions.

Этот подмодуль содержит множество полезных функций, например для вычисления стандартного отклонения. Все агрегирующие функции подмодуля принимают имя столбца таблицы GroupedData.

Напомним, что в вашем рабочем пространстве уже доступны SparkSession с именем spark и Spark DataFrame flights. Там же находятся сгруппированные DataFrame, созданные в предыдущем упражнении.

Это упражнение является частью курса

Основы PySpark

Посмотреть курс

Инструкции к упражнению

  • Импортируйте подмодуль pyspark.sql.functions под псевдонимом F.
  • Создайте таблицу GroupedData с именем by_month_dest, сгруппированную по столбцам month и dest. Укажите оба столбца, передав их имена в виде отдельных строковых аргументов.
  • Примените метод .avg() к DataFrame by_month_dest, чтобы получить среднее значение dep_delay по каждому месяцу для каждого направления.
  • Вычислите стандартное отклонение dep_delay с помощью метода .agg() и функции F.stddev().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import pyspark.sql.functions as F
import ____ as F

# Group by month and dest
by_month_dest = flights.groupBy(____)

# Average departure delay by month and destination
by_month_dest.____.show()

# Standard deviation of departure delay
by_month_dest.agg(F.____(____)).show()
Редактировать и запускать код