[英]Reshape [cols;table]
如何從表中獲取列? 如果它們不存在,可以將它們作為空列。
嘗試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#
運算符不適用於表? 它可以輕松地對每一行(即 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.