首页 > 解决方案 > 如何计算特定列值的 min max avg 并将其存储在新列中?

问题描述

我是 Spark/Scala 的新手,所以我有很多问题之一。我有一个包含代码、描述、延迟的数据框。列代码具有重复值示例(EA)我想要代码的不同值和新列中的 depdelay 的最小值、最大值、平均值。

标签: scalaapache-sparkapache-spark-sql

解决方案


据我了解,您想知道列代码中每个值的最小值、最大值、平均值。如果这是正确的,以下步骤将帮助您实现这一目标

  1. 在列代码上使用 groupby 函数,它将删除重复项并将代码中具有相同值的其他行的值分组。
  2. 不使用此分组数据,我们可以进行操作并找到最小值、最大值、平均值,请检查以下语法。
result=df.groupBy("code").agg(min($"depdelay").alias("min"),max($"depdelay").alias("depdelay"),avg($"depdelay").alias("avg"))

推荐阅读