ПочатиПочніть безкоштовно

Групування та агрегація I

Сила агрегації значною мірою зростає завдяки групуванню. У PySpark є окремий клас для згрупованих датафреймів — pyspark.sql.GroupedData, з яким ви вже працювали в двох попередніх вправах.

Ви навчилися створювати згрупований DataFrame, викликаючи метод .groupBy() для датафрейму без аргументів.

Тепер ви побачите, що якщо передати назву одного або кількох стовпців вашого датафрейму в метод .groupBy(), методи агрегації працюватимуть так само, як і з оператором GROUP BY у SQL-запиті!

Пам'ятайте: SparkSession під назвою spark уже доступний у вашому робочому просторі, так само як і датафрейм Spark flights.

Ця вправа є частиною курсу

Основи PySpark

Переглянути курс

Інструкції до вправи

  • Створіть DataFrame з назвою by_plane, згрупований за стовпцем tailnum.
  • Використайте метод .count() без аргументів, щоб підрахувати кількість рейсів для кожного літака.
  • Створіть DataFrame з назвою by_origin, згрупований за стовпцем origin.
  • Обчисліть .avg() стовпця air_time, щоб знайти середню тривалість рейсів з PDX і SEA.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Group by tailnum
by_plane = flights.groupBy("____")

# Number of flights each plane made
by_plane.____.show()

# Group by origin
by_origin = flights.groupBy("____")

# Average duration of flights from PDX and SEA
by_origin.avg("____").show()
Редагувати та запускати код