计算移动平均值
此页面记录了早期版本的 InfluxDB OSS。InfluxDB OSS v2 是最新的稳定版本。请参阅等效的 InfluxDB v2 文档: 计算移动平均值。
使用 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: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 |
以下将返回
|> timedMovingAverage(
every: 2m,
period: 4m
)
_time | _value |
---|---|
2020-01-01T00:02:00Z | 1.000 |
2020-01-01T00:04:00Z | 1.333 |
2020-01-01T00:06:00Z | 1.325 |
2020-01-01T00:06:00Z | 1.150 |
此页对您有帮助吗?
感谢您的反馈!