计算移动平均值
使用 movingAverage()
或 timedMovingAverage()
返回数据的移动平均值。
data
|> movingAverage(n: 5)
// OR
data
|> timedMovingAverage(every: 5m, period: 10m)
movingAverage()
对于表中的每一行,movingAverage()
返回当前值和之前值的平均值,其中 n
是用于计算平均值的总值数。
如果 n = 3
行号 | 计算 |
---|---|
1 | 行数不足 |
2 | 行数不足 |
3 | (行 1 + 行 2 + 行 3) / 3 |
4 | (行 2 + 行 3 + 行 4) / 3 |
5 | (行 3 + 行 4 + 行 5) / 3 |
给定以下输入
_time | _value |
---|---|
2020-01-01T00:01:00Z | 1.0 |
2020-01-01T00:02:00Z | 1.2 |
2020-01-01T00:03:00Z | 1.8 |
2020-01-01T00:04:00Z | 0.9 |
2020-01-01T00:05:00Z | 1.4 |
2020-01-01T00:06:00Z | 2.0 |
以下将返回
|> movingAverage(n: 3)
_time | _value |
---|---|
2020-01-01T00:03:00Z | 1.33 |
2020-01-01T00:04:00Z | 1.30 |
2020-01-01T00:05:00Z | 1.36 |
2020-01-01T00:06:00Z | 1.43 |
timedMovingAverage()
对于表中的每一行,timedMovingAverage()
返回当前值和之前 period
(持续时间)内所有行值的平均值。它以 every
参数定义的频率返回移动平均值。
下图中的每种颜色代表用于计算平均值的时间段以及返回表示平均值的点的时间。如果 every = 30m
且 period = 1h
给定以下输入
_time | _value |
---|---|
2020-01-01T00:00:00Z | 1.0 |
2020-01-01T00:30:00Z | 1.2 |
2020-01-01T01:00:00Z | 1.8 |
2020-01-01T01:30:00Z | 0.9 |
2020-01-01T02:00:00Z | 1.4 |
2020-01-01T02:30:00Z | 2.0 |
2020-01-01T03:00:00Z | 1.9 |
以下将返回
|> timedMovingAverage(every: 30m, period: 1h)
_time | _value |
---|---|
2020-01-01T00:30:00Z | 1.0 |
2020-01-01T01:00:00Z | 1.1 |
2020-01-01T01:30:00Z | 1.5 |
2020-01-01T02:00:00Z | 1.35 |
2020-01-01T02:30:00Z | 1.15 |
2020-01-01T03:00:00Z | 1.7 |
2020-01-01T03:00:00Z | 2 |
此页对您有帮助吗?
感谢您的反馈!