Flip KDB/Q如何转置表?

Flip KDB/Q如何转置表?,flip,kdb,Flip,Kdb,如何得到一张表的转置 说t: x ltCt poPt kgAg xoOt woWa yTri zapR ----------------------------------------------------------------- today 41.66 367.69 -662.89 11347.91 30644 -177 19149.92 yesterday -1570.33

如何得到一张表的转置

说t:

    x          ltCt     poPt     kgAg     xoOt     woWa  yTri zapR    
    -----------------------------------------------------------------
    today      41.66    367.69   -662.89  11347.91 30644 -177 19149.92
    yesterday -1570.33 77233.76 -1169.33 11267.63 17079 5623 31069.08
我们希望t2看起来像:

    x     |  today  yesterday
    ltCt  |  41.66  -1570.33
    poPt  |  367.69 77233.76
    ... 
我希望它像“翻转t”一样简单,但唉

“翻转”可以完成这项工作,但不是在键控表上。你的桌子是不是有钥匙的桌子?它看起来像是使用select by语句创建的

在这种情况下,请尝试“翻转0!表格”

这样就可以看到表格(未设置关键帧)

将其翻转为字典:

q)flip t
x   | today yesterday
ltCt| 9     2
poPt| 1     8
kgAg| 8     1
xoOt| 7     2
woWa| 4     5
yTri| 4     2
zapR| 7     8
你需要一些魔法才能把它变成一张合适的桌子:

q)flip ft[`x]!flip 1_ value ft:flip t
today yesterday
---------------
9     2
1     8
8     1
7     2
4     5
4     2
7     8
编辑

全转置

q)flip raze[(key 1#ft),value( 1#ft)]!(enlist 1_key ft),flip value 1_ft:flip t
x    today yesterday
--------------------
ltCt 9     2
poPt 1     8
kgAg 8     1
xoOt 7     2
woWa 4     5
yTri 4     2
zapR 7     8

哇,我爱q!谢谢你我欠你一杯啤酒
q)flip raze[(key 1#ft),value( 1#ft)]!(enlist 1_key ft),flip value 1_ft:flip t
x    today yesterday
--------------------
ltCt 9     2
poPt 1     8
kgAg 8     1
xoOt 7     2
woWa 4     5
yTri 4     2
zapR 7     8