如何获得表格的转置?
说:
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”一样简单,但可惜。
最佳答案
这是表格(未键入)
q)t
x ltCt poPt kgAg xoOt woWa yTri zapR
--------------------------------------------
today 9 1 8 7 4 4 7
yesterday 2 8 1 2 5 2 8
翻转它变成字典:
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
关于flip - KDB/Q 如何转置一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25526962/