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

Как я могу рассчитать столбец средневзвешенных значений из двух других столбцов, которые имеют несколько записей в строке в 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) в таблицу.


person CWD    schedule 15.11.2017    source источник
comment
У вас больше шансов получить лучшие ответы, если вы упомянете, что вы пробовали, если это возможно с кодом. Я настоятельно рекомендую вам отредактировать вопрос. Кроме того, чтение stackoverflow.com/help/how-to-ask может помочь вам лучше ответить на этот вопрос; в противном случае вы рискуете получить отрицательные голоса и не ответить   -  person Carlos E. Ferro    schedule 15.11.2017
comment
Хорошо, я приму ваш совет на борту, Карлос, спасибо.   -  person CWD    schedule 15.11.2017
comment
Привет @CWD, я вижу, ты новичок в SO. Если вы считаете, что ответ решил проблему, отметьте его как «принятый», нажав зеленую галочку. Это помогает сосредоточиться на старых SO, на которые до сих пор нет ответов.   -  person Jonathon McMurray    schedule 16.11.2017


Ответы (1)


Вы можете использовать наречие каждый-оба, чтобы применить 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
person Jonathon McMurray    schedule 15.11.2017