如何从每个组中提取前n行?例如:对于表bb:([]sym:(4#`a),(5#`b);val: til 9)
sym val
-------------
a 0
a 1
a 2
a 3
b 4
b 5
b 6
b 7
b 8
Run Code Online (Sandbox Code Playgroud)
如何通过sym选择每组的前两行?
谢谢
我有一个表格,其中包含一个具有以下格式数据的列 - 让我们将列称为“标题”,将表格称为“s”
标题
ab.123
ab.321
cde.456
cde.654
fghi.789
fghi.987
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取“.”之前的字符的唯一列表。所以我最终得到了这个:
ab
cde
fghi
Run Code Online (Sandbox Code Playgroud)
我尝试将初始列选择到表格中,然后尝试进行更新以使用“ss”创建一个新列,该列是点的位置。
像这样:
t: select title from s
update thedot: (title ss `.)[0] from t
Run Code Online (Sandbox Code Playgroud)
然后我打算尝试做第三列,它是“标题”中的“N”个字符,其中 N 是存储在“thedot”列中的值。
我尝试更新时得到的只是“类型”错误。
有任何想法吗?我对 kdb 很陌生,所以毫无疑问以一种非常愚蠢的方式做一些简单的事情。
非常愚蠢的问题......考虑下面按 sym 排序的表 t1。
t1:([]sym:(3#`A),(2#`B),(4#`C);val:10 40 12 50 58 75 22 103 108)
sym val
A 10
A 40
A 12
B 50
B 58
C 75
C 22
C 103
C 108
Run Code Online (Sandbox Code Playgroud)
我想选择与每个符号对应的第一行,如下所示:
(`sym`val)!(`A`B`C;10j, 50j, 75j)
sym val
A 10
B 50
C 75
Run Code Online (Sandbox Code Playgroud)
必须有一个单线来做到这一点。要获取每个符号的最后一行,就像select by sym from t1. 任何提示?
考虑下表:
sym A B
X 1 2
Y 4 1
X 6 9
Z 6 3
Z 3 7
Y 1 8
Run Code Online (Sandbox Code Playgroud)
我想为我的每个符号 X、Y 和 Z 找到最小 A 值和最大 B 值,并将它们显示在新表中,即
sym minA maxB
X 1 9
Y 1 8
Z 3 7
Run Code Online (Sandbox Code Playgroud)
谢谢。
Jupyter笔记本的自动完成似乎有效,但不知何故,它将显示该方法的重复选项.例如下面:

对于每个可能的选项,下拉菜单将显示2个相同的选项.为什么会发生这种情况以及如何解决?
我有一个 aq 脚本C:\some\path\startup.q,可以将其他几个 q 脚本加载到当前会话中,如下所示
\l C:\some\other\path\script1.q
\l C:\some\other\path\script2.q
\l C:\some\other\path\script3.q
Run Code Online (Sandbox Code Playgroud)
现在,我可能想检查多个路径等script1.q。例如,当我处于部署环境而不是本地环境中时,这些路径是不同的。所以我想尝试捕获负载操作符
@[\l;C:\some\other\path\script1.q;`errormessage]
Run Code Online (Sandbox Code Playgroud)
这当然是无稽之谈。但我在 q 中找到了此处system描述的命令。例如
\w / lists memory usage
system "w" / same command
Run Code Online (Sandbox Code Playgroud)
但是,这不适用于\l
system "l C:\some\path\startup.q"
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助
刚刚开始使用KDB +,有一些难以从Q for Mortals获得的问题.
说,这里 http://code.kx.com/wiki/JB:QforMortals2/casting_and_enumerations
Cast在左操作数中也是原子的.
5 6 7h$42
结果:
42h
42
42j
Run Code Online (Sandbox Code Playgroud)
我无法得到我们在这里做的事情:看起来我们投了5 6 7到42,但是什么是42?它代表一种类型吗?
我遇到了一个烦人的问题。我们在 kdb+ 数据库中得到了股票代码 AGN-A,但是查询这个代码是否在代码列表中几乎是不可能的。以下查询根本不起作用:
`$"A-o" in (`$"A-o";`R)
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?
您好我正在运行kdb并通常使用浏览器通过在端口上运行kdb来基本查看表:\ p xxx 我的问题是如何增加浏览器中的可见行?目前我相信有一些固定数量的行是可见的.我希望能够查看更多或更少的行.有设置还是命令?
我希望能够一次查询几个句柄,其中表格具有相同的格式:
句柄:8000,8001,8003表:foo
想做类似的事情:
x:hopen `8000`8001`8003
x select from foo col1,col2
Run Code Online (Sandbox Code Playgroud)
所以我从每个句柄上的每个foo表中获取行.
有没有办法实现这个目标?
谢谢