如何获得每一列的最大值?

Hoori M.

我想获取Spark中数据框每一列的最大值。我的代码仅适用于一列(例如第一列):

val col = df.columns(0);
val Row(maxValue: Int) = df.agg(max(col)).head();

我不知道如何组合foreach以及我拥有的代码,这样我才能为数据帧中的每一列获取最大值。(我不知道数据框中有多少列,列名是什么)

谢谢。

扎克·佐哈(Tzach Zohar)

foreach很少,当你想将有用的解决方案变换集合(在这种情况下-列名的数组)到别的东西(在这种情况下-它们的最大值)。而是使用map-,然后将结果传递给agg

import spark.implicits._
import functions._

val df = Seq((1,3), (3, 1), (2, 2)).toDF("a", "b")

// map columns into columns representing their maximums 
val maxCols: Array[Column] = df.columns.map(max)

// aggregate all at once (have to separate first from rest due to agg's signature):
val row: Row = df.agg(maxCols.head, maxCols.tail: _*).head

编辑:正如@ user8371915提醒我们的那样,有一个简短得多的版本:

val row: Row = df.groupBy().max().head

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从Java的每一列中获取最大值?

如何找到矩阵中每一列的绝对值之和的最大值

如何对Google Spreadsheets中每一列的最大值求和?

PostgreSQL — 如何从每一列中找到最大值?

如何获得另一列R的每个级别的一列最大值的索引

Pandas - 一列的最小值和最大值,直到每一行

如何对一列进行分组并获得另一个列的最大值并使用python返回整行

如何列出最大值为一列的行

如何根据另一列查找最大值?

如何沿轴使用 argmax 来获取 numpy 二维数组的每一列中的最大值?

最大值大于特定值?对于每一列

Python:将单元格中的值除以每一列中的最大值

一列的最大值

在另一列中获取最大值行以获得唯一值:python

如何从值与另一列匹配的一列中获取最大值?

如何为另一列的每个值获取一列的最大值?

在r的数据帧的每一列中标识具有最大值的行

找到最小和最大值在阵列的每一列

矩阵每一列的N个最小/最大值的返回索引行数

在未明确命名的情况下找到HIVE中每一列的最大值

从数据框中的每一列中查找最大值

查找二维数组中每一列的最大值

mysql:在表的每一列中查找最大值

r中数据帧不同行的每一列的最大值

难以找到二维数组中每一列的最大值

pandas groupby,您将获得一列的最大值和另一列的最小值

如何选择*并按一列分组,同时选择另一列的最大值?

在非单元格引用的 Excel 数组的每一行或每一列中查找最大值

在非单元格引用的 Excel 数组的每一行或每一列中查找最大值