[英]Moving average in Apache spark dataframe C#
在我的数据库中有一些样本我已导入 apache spark Dataframe。 我需要在 C# 中的当前样本之前添加另一列具有 n 个样本的移动平均值。
这是我的 dataframe:
DataFrame frame = jdbcDf
.Where("SubjectKey = 104")
.Select("Timestamp", "Current").Sort("Timestamp");
我找到了这段代码:
val movAvg = sampleData.withColumn("movingAverage", AVG(sampleData("Current"))
.over( Window.partitionBy("Role").rowsBetween(-1,1)) )
但是要在我的代码中使用 window class 。 如何计算移动平均线? 这样做时如何处理 Null 值?
我设法找到正确的语法:
DataFrame frame = jdbcDf
.Where("SubjectKey = 104")
.Select("Timestamp", "Current");
var windowSp = Microsoft.Spark.Sql.Expressions.Window.RowsBetween(-10, -1);
var movAvg = result.Sort("Timestamp").WithColumn("movingAverage",
Avg(result["Diff"]).Over(windowSp));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.