gpt4 book ai didi

kdb - 根据现有列向 kdb 中的表添加列?

转载 作者:行者123 更新时间:2023-12-05 00:59:16 27 4
gpt4 key购买 nike

我想在 kdb 表中添加一个新列,它应该基于现有列通过填充非空值来添加,如下所示

q)t:([]a:`a`b`c`d`e`f`g`h;b:1 0n 3 4 0n 6 0n 8;c:0n 2 0n 0n 5 0n 7 0n)
q)t
a b c
-----
a 1
b 2
c 3
d 4
e 5
f 6
g 7
h 8

我想添加一个 d 列,该列将从 c 或 d 中获取不为空的值生成这样的表格

a b c d
-------
a 1 1
b 2 2
c 3 3
d 4 4
e 5 5
f 6 6
g 7 7
h 8 8

我尝试过连接,但其中包含空值:

q)update d:(b,'c)from t
a b c d
----------
a 1 1
b 2 2
c 3 3
d 4 4
e 5 5
f 6 6
g 7 7
h 8 8

最佳答案

向量条件可能是您所追求的,如下所示:

update d:?[null b;c;b] from t

您可以阅读有关向量条件的更多信息 here .这需要一个 bool 列表作为第一个参数,并从第二个参数中的列表中返回值 True,或者从第三个参数中的列表中返回值,其中 False。例如:

q)?[10101b;”abcde”;”ABCDE”]
“aBcDe”

当与 select/update 语句结合使用时,可以将表的列指定为条件向量的参数,因为这些只是列表。

顺便说一句,null keyword返回一个 bool 值 true,其中值为 null 并且作为解决方案的一部分很有用。

关于kdb - 根据现有列向 kdb 中的表添加列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54335838/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com