Grupowanie i agregacja II
Oprócz metod GroupedData, które już poznałeś, dostępna jest również metoda .agg().
Pozwala ona przekazać wyrażenie agregujące korzystające z dowolnej funkcji agregującej dostępnej w submodule pyspark.sql.functions.
Submoduł ten zawiera wiele przydatnych funkcji, na przykład do obliczania odchylenia standardowego. Wszystkie funkcje agregujące w tym submodule przyjmują nazwę kolumny z tabeli GroupedData.
Pamiętaj, że w twoim środowisku roboczym dostępna jest już sesja SparkSession o nazwie spark oraz Spark DataFrame flights. Zgrupowane obiekty DataFrame utworzone w poprzednim ćwiczeniu są również dostępne.
To ćwiczenie jest częścią kursu
Podstawy PySpark
Instrukcje do ćwiczenia
- Zaimportuj submoduł
pyspark.sql.functionsjakoF. - Utwórz tabelę
GroupedDatao nazwieby_month_dest, zgrupowaną według kolumnmonthidest. Odwołaj się do obu kolumn, przekazując ich nazwy jako osobne argumenty. - Użyj metody
.avg()na obiekcieby_month_dest, aby obliczyć średnie opóźnienie odlotu (dep_delay) w każdym miesiącu dla każdego miejsca docelowego. - Wyznacz odchylenie standardowe kolumny
dep_delay, korzystając z metody.agg()z funkcjąF.stddev().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()