Группировка и агрегирование 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()к DataFrameby_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()