Взвешенное среднее число столбцов списка в kdb

Как я могу вычислить столбец взвешенных средних из 2 других столбцов, у каждого из которых есть несколько записей на строку в kdb?

Например, с учетом следующей таблицы:

T:([]sym:`a`b`c;size:(2 8;5 2 10;3 7);price:(1 2;1 1 10;2 4))

Я хотел бы добавить столбец (1.8 6.29 3.4) к столу.

1 ответ

Решение

Вы можете использовать наречие each-both, чтобы применить функцию wavg к каждому вложенному списку в вашей таблице, например

q)update x:wavg'[size;price] from T
sym size   price  x
--------------------------
a   2 8    1 2    1.8
b   5 2 10 1 1 10 6.294118
c   3 7    2 4    3.4
Другие вопросы по тегам