Flip KDB/Q如何转置表?
如何得到一张表的转置 说t: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
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