首页 > 解决方案 > 使用设置窗口计算 2 个列表的加权移动平均值

问题描述

如果我有两个列表:

a:1 2 3 4;
b:10 20 30 40;

我想在 2 的窗口内对两个列表的乘积求和。所以结果集应该是:

10 50 130 250

例如,要获得 130 的结果,它将是 (2*20)+(3*30) = 130

sums 2 mavg '(a*b)

似乎让我到了那里,但没有应用 2 的窗口。我试过用sum, sums, sum each, wavg,mavg等进行试验,但我完全被卡住了。有人可以帮忙吗?谢谢!

标签: kdb

解决方案


这条线应该适合你:

2 msum a*b

如此处所示:

q)a:1 2 3 4
q)b:10 20 30 40
q)2 msum a*b
10 50 130 250

有关关键字的更多信息msum,您可以查看 Kx 参考页面: https ://code.kx.com/wiki/Reference/msum

希望有帮助!


推荐阅读