始める無料で始める

グループ化と集計 II

これまでに見た GroupedData のメソッドに加えて、.agg() メソッドもあります。 このメソッドでは、pyspark.sql.functions サブモジュールの任意の集約関数を使った、集約列式を渡すことができます。

このサブモジュールには、標準偏差の計算などに役立つ関数が多数含まれています。ここにあるすべての集約関数は、GroupedData テーブル内の列名を引数に取ります。

ワークスペースには、spark という SparkSession と Spark DataFrame の flights が既に用意されています。前の演習で作成したグループ化済みの DataFrame もそのまま使えます。

この演習はコースの一部です

PySpark入門

コースを見る

演習の手順

  • サブモジュール pyspark.sql.functionsF としてインポートします。
  • month 列と dest 列の両方でグループ化した GroupedData テーブル by_month_dest を作成します。2 つの列は別々の引数として、それぞれ文字列で渡してください。
  • by_month_dest DataFrame に対して .avg() メソッドを使い、各月・各目的地ごとの dep_delay の平均を求めます。
  • .agg() メソッドと関数 F.stddev() を使って、dep_delay の標準偏差を求めます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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()
コードを編集して実行