如何在kdb中进行列表子集的总和?

时间:2013-06-17 11:14:24

标签: kdb

如果您在第一个列表中按升序排列了一个列表和另一个索引(数量有限)的列表。

如何在第二个列表中的连续索引之间获得第一个列表中的元素总和。

例如:

list1: til 100;
idx: (1 20 50 70 100);

我们如何从元素1:20, 20:50, 50:70, 70:100中获取包含列表元素总和的列表?

显而易见的方法是在idx的元素上使用#_但是我们可以以某种方式迭代地执行此操作而不使用first,first 1_idx等。

1 个答案:

答案 0 :(得分:2)

这样的事情会起作用:

q)sum each idx cut list1
190 1035 1190 2535 0

cut通过在第一个参数中给出的指数切割第二个参数来进行操作。因此,为什么你会在结果的末尾看到0,因为它在第100个元素上切割。