将 KDB Table 转换为特殊格式的字典
Converting KDB Table to dictionary in special format
我是 KDB/Q 的新手,我 table 只有两列,如下所示:
id value
100 a
101 b
100 c
102 d
103 e
100 f
102 g
101 e
我需要将此 table 转换为按 id 分组的字典形式,就像这种格式
id | x1 x2 x3 x4 x5 x6 x7 x8
100 | a :: c :: :: f :: ::
101 | :: b :: :: :: :: :: e
102 | :: :: :: d :: :: g ::
103 | :: :: :: :: e f :: ::
我尝试使用 by 但它只给我分组,无法像键控 table 或字典
那样转换
有人可以帮我做同样的事情吗?列名(x1、x2 等不重要)。
听起来你想要转轴:https://code.kx.com/q/kb/pivoting-tables/
q)t:([]id:100 101 100 102 103 100 102 101;val:`a`b`c`d`e`f`g`e)
q)exec distinct[t`val]#val!val by id:id from t
id | a b c d e f g
---| -------------
100| a c f
101| b e
102| d g
103| e
想想也许您正在寻找 exec by from table
q)t:([]id:100 101 100 102 103 100 102 101;val:`a`b`c`d`e`f`g`e)
q)exec val by id from t
100| `a`c`f
101| `b`e
102| `d`g
103| ,`e
q)// if you need the (::)
q)exec {@[count[t]#(::);x;:;y]}[i;val] by id from t
100| `a :: `c :: :: `f :: ::
101| :: `b :: :: :: :: :: `e
102| :: :: :: `d :: :: `g ::
103| :: :: :: :: `e :: :: ::
我是 KDB/Q 的新手,我 table 只有两列,如下所示:
id value
100 a
101 b
100 c
102 d
103 e
100 f
102 g
101 e
我需要将此 table 转换为按 id 分组的字典形式,就像这种格式
id | x1 x2 x3 x4 x5 x6 x7 x8
100 | a :: c :: :: f :: ::
101 | :: b :: :: :: :: :: e
102 | :: :: :: d :: :: g ::
103 | :: :: :: :: e f :: ::
我尝试使用 by 但它只给我分组,无法像键控 table 或字典
那样转换有人可以帮我做同样的事情吗?列名(x1、x2 等不重要)。
听起来你想要转轴:https://code.kx.com/q/kb/pivoting-tables/
q)t:([]id:100 101 100 102 103 100 102 101;val:`a`b`c`d`e`f`g`e)
q)exec distinct[t`val]#val!val by id:id from t
id | a b c d e f g
---| -------------
100| a c f
101| b e
102| d g
103| e
想想也许您正在寻找 exec by from table
q)t:([]id:100 101 100 102 103 100 102 101;val:`a`b`c`d`e`f`g`e)
q)exec val by id from t
100| `a`c`f
101| `b`e
102| `d`g
103| ,`e
q)// if you need the (::)
q)exec {@[count[t]#(::);x;:;y]}[i;val] by id from t
100| `a :: `c :: :: `f :: ::
101| :: `b :: :: :: :: :: `e
102| :: :: :: `d :: :: `g ::
103| :: :: :: :: `e :: :: ::