使用 Over 在 kdb+ 中连接枚举列和符号列
Joining Enumerated and Symbol Column in kdb+ using Over
我正在查看两个表,一个有枚举列,另一个没有。我使用 (,/) 将它们连接在一起,它不会取消枚举数据。 (uj/) 和 last (,\) 都可以。有人知道为什么会这样吗?
KDB+ 4.0 2021.04.26 Copyright (C) 1993-2021 Kx Systems
q)enum:`a`b
q)t1:([]c1:`enum$`a`b)
q)t2:([]c1:`a`b)
q)(,/) (t1;t2)
c1
--------
`enum$`a
`enum$`b
`a
`b
q)(uj/) (t1;t2)
c1
--
a
b
a
b
q)last(,\) (t1;t2)
c1
--
a
b
a
b
q)```
我怀疑这是因为 ,/
(以及 raze
)被口译员给予特殊待遇,而其他人则没有。
实际的追加会给你想要的结果:
q)0N!({x,y}/)(t1;t2);
+(,`c1)!,`a`b`a`b
因此,尽管 {x,y}/
看起来与 ,/
相同,但由于幕后的“特殊待遇”,情况并非总是如此
我正在查看两个表,一个有枚举列,另一个没有。我使用 (,/) 将它们连接在一起,它不会取消枚举数据。 (uj/) 和 last (,\) 都可以。有人知道为什么会这样吗?
KDB+ 4.0 2021.04.26 Copyright (C) 1993-2021 Kx Systems
q)enum:`a`b
q)t1:([]c1:`enum$`a`b)
q)t2:([]c1:`a`b)
q)(,/) (t1;t2)
c1
--------
`enum$`a
`enum$`b
`a
`b
q)(uj/) (t1;t2)
c1
--
a
b
a
b
q)last(,\) (t1;t2)
c1
--
a
b
a
b
q)```
我怀疑这是因为 ,/
(以及 raze
)被口译员给予特殊待遇,而其他人则没有。
实际的追加会给你想要的结果:
q)0N!({x,y}/)(t1;t2);
+(,`c1)!,`a`b`a`b
因此,尽管 {x,y}/
看起来与 ,/
相同,但由于幕后的“特殊待遇”,情况并非总是如此