分组与聚合 II
除了您已经见过的 GroupedData 方法之外,还有一个 .agg() 方法。
此方法允许您传入聚合列表达式,使用 pyspark.sql.functions 子模块中的任意聚合函数。
该子模块包含许多用于计算标准差等指标的实用函数。此子模块中的所有聚合函数都以 GroupedData 表中的列名为参数。
请记住,名为 spark 的 SparkSession 已在您的工作区中,Spark DataFrame flights 也已就绪。您在上一个练习中创建的分组 DataFrame 也在您的工作区中。
本练习是课程的一部分
PySpark 基础
练习说明
- 将子模块
pyspark.sql.functions以F的名称导入。 - 创建一个名为
by_month_dest的GroupedData表,按month和dest两列进行分组。通过分别传入两个字符串参数来引用这两列。 - 在
by_month_destDataFrame 上使用.avg()方法,计算每个目的地在各个月份的平均dep_delay。 - 使用带函数
F.stddev()的.agg()方法来求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()