gpt4 book ai didi

kdb - reshape [cols;table]

转载 作者:行者123 更新时间:2023-12-04 08:32:49 26 4
gpt4 key购买 nike

如何从表中获取列?如果它们不存在,可以将它们作为空列。
正在尝试 reshape# :

q)d:`a`b!1 2
q)enlist d
a b
---
1 2
q)`a`c#d
a| 1
c|
q)`a`c#enlist d
'c
[0] `a`c#enlist d
^
为什么 reshape#运算符(operator)不在 table 上工作?它可以轻松地对每一行(即 dict)进行操作并合并结果。所以我不得不写:
q)`a`c#/:enlist d
a c
---
1
这是最短的路吗?

最佳答案

您尝试使用的任何不存在于字典中的键 ( # ) 都将被分配一个与字典中第一个值相同类型的空值。类似的行为不适用于表。

q)`a`c#`a`b!(1 2;())
a| 1 2
c| `long$()
q)`b`c#`a`b!(();1 2)
b| 1 2
c| ()
就像你提到的,使用 each-right ( /: ) 将作用于表 IE 每个字典的每一行。我们可以对字典本身采取行动,而不是使用迭代器将表拆分为字典。这将返回相同的输出并且稍微快一点。
q)d:`a`b!1 2
q)enlist`a`c#d
a c
---
1
q)(`a`c#/:enlist d)~enlist`a`c#d
1b
q)\ts:1000000 enlist`a`c#d
395 864
q)\ts:1000000 `a`c#/:enlist d
796 880

关于kdb - reshape [cols;table],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64940829/

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