我正在使用数据框中的RDD来计算列的平均值。这是我的RDD
dataframe.rdd.map(x => (x(2))).take(5)
# res51: Array[Any] = Array(499, 200, 400, 151, 65)
我正在寻找那个阵列的意思。这是我的代码:
dataframe.rdd.map(x => (x(2))).mean
<console>:31: error: value mean is not a member of org.apache.spark.rdd.RDD[Any]
dataframe.rdd.map(x => (x(2))).mean
答案 0 :(得分:2)
如果您有以下unsigned int bitmask = 1 << (15 - i);
output[i] = '0' + ((input & bitmask) ? 1 : 0);
dataframe
您可以使用+----+----+------+
|col1|col2|col3 |
+----+----+------+
|a |1 |908.76|
|b |2 |901.74|
|c |3 |83.71 |
|d |5 |39.36 |
|e |2 |234.64|
+----+----+------+
函数
dataframe
中计算均值
mean
应该给你
import org.apache.spark.sql.functions._
df.select(mean("col3").as("mean").show(false)
如果您坚持使用+-------+
|mean |
+-------+
|433.642|
+-------+
,那么您可以执行以下操作
RDD
这里我使用了df.rdd.map(x => (x(2).asInstanceOf[Double])).mean
,因为那就是我想要2
的列。 你唯一的错误就是你忘记了将mean
变量默认为x(3)
并且 scala编译器找不到{{em> {1}} dataType 。
我希望答案很有帮助