给出下表:
time | col1 col2 col3 ...
--------------------------------
10:53:02 | 89 89 76 ...
...
Run Code Online (Sandbox Code Playgroud)
如何从该表中选择由列名称列表引用的列的子集(包括索引),即cols:('col1';'col3');
预期结果将是:
time | col1 col3
----------------------
10:53:02 | 89 89
...
Run Code Online (Sandbox Code Playgroud)
谢谢
我有两个目录,每个目录包含一个日期分区的splayed表.每个目录都有自己的sym文件.表格完全相同.
我想将它合并到一个目录中,但是我遇到了问题.最初我尝试在另一个目录中创建一个软链接(由于大量数据).这不起作用,因为表使用了错误的sym文件.
有谁知道如何最好地做到这一点?我是否必须为两个目录重新生成新的sym文件?
谢谢
我想确保列x中的所有值都不小于0.5,所以我这样做:
update x:max (x 0.5) from myTable
Run Code Online (Sandbox Code Playgroud)
但这会产生错误(在Studio For KDB +中):
An error occurred during execution of the query.
The server sent the response:
type
Studio Hint: Possibly this error refers to wrong type, e.g `a+1
Run Code Online (Sandbox Code Playgroud)
怎么了?
既然kdb +的32位版本已经被kx免费用于商业用途,那么购买许可证还有什么好处,除了:
具体来说,使用32位解释器对64位数据类型向量(long和float)的操作会更慢,还是可以利用CPU的全字大小?
我发现当从cygwin下面启动q时,控制台通常似乎工作,但q)提示不会显示.我刚刚遇到一个空白行.
我有最新的cygwin和最新的薄荷终端.
请注意,当我使用cmd启动cygwin时,q)提示符就在那里.只是没有薄荷.所以我有一个可行但不理想的解决方法.薄荷的各个方面都深深地编码到我的肌肉记忆中.
但是,由于[mintty]不是基于标准Windows控制台,因此专门为此编写的程序无法正常工作
所以我怀疑这就是原因.但是想知道是否有人能够让kdb/q在这个设置中工作.
总之,q解释器可以完全在薄荷下工作吗?
我正在尝试在Windows中设置qStudio.添加新服务器时,会弹出一条错误消息,说:
连接不起作用.java.io.IOException:java.sql.SQLException:连接被拒绝:连接.
使用默认的"服务器属性"配置:
主机:localhost端口:5000服务器类型:KDB用户名:密码:
Q/KDB +非常新.在谷歌搜索,但没有找到答案.请帮忙!谢谢!
我跳进另一个命名空间后,如何访问根命名空间中的函数/变量.
像这样的例子:
q)\d .cfg
q)domIV:1000
q)\d .
q)n:1000
Run Code Online (Sandbox Code Playgroud)
然后我知道如何domIV从其他命名空间访问变量,但我不知道如何n从那里访问变量:
q)\d .seed
q).cfg.domIV / works
q)n / does not work
q).n / does also not work
Run Code Online (Sandbox Code Playgroud)
如何访问根命名空间?
谢谢
我有一张桌子
t: flip `S`V ! ((`$"|A|B|"; `$"|B|C|D|"; `$"|B|"); 1 2 3)
Run Code Online (Sandbox Code Playgroud)
和一些决定
t1: 4 10 15 20 ! 1 2 3 5;
t2: 4 10 15 20 ! 0.5 2 4 5;
Run Code Online (Sandbox Code Playgroud)
现在我需要在S中的子串和下面的函数中添加一个带有值的列(这是一个伪代码,因为我被困在这里).
f:{[s;v];
if[`A in "|" vs string s; t:t1;];
else if[`B in "|" vs string s; t:t2;];
k: asc key t;
:t k k binr v;
}
Run Code Online (Sandbox Code Playgroud)
问题是当我做类似的事情时,s和v作为完整的列向量传递
update l:f[S,V] from t;
Run Code Online (Sandbox Code Playgroud)
如何使这个按行工作?我怎样才能使它成为一个矢量化函数?谢谢
我需要查询包含公司名称的数据库.我有大约50个名字的列表,我必须获取数据.但我无法使用in命令编写查询,因为名称中的空格无法识别.前
select from sales where name in (`Coca Cola, `Pepsi)
Run Code Online (Sandbox Code Playgroud)
由于"Cola"未被识别,这给了我一个错误.有没有办法写这样的查询?
我正在尝试使用qpython从python客户端实现多行查询。
我想执行以下查询:
a = """
/declare a function that pivots a table on index
piv:{[t;k;p;v]f:{[v;P]`${raze "_" sv x} each string raze P,'/:v};v:(),v; k:(),k; p:(),p;G:group flip k!(t:.Q.v t)k;F:group flip p!t p;key[G]!flip(C:f[v]P:flip value flip key F)!raze{[i;j;k;x;y]a:count[x]#x 0N;a[y]:x y;b:count[x]#0b;b[y]:1b;c:a i;c[k]:first'[a[j]@'where'[b j]];c}[I[;0];I J;J:where 1<>count'[I:value G]]/:\:[t v;value F]};
/get aggregated trades table
tt:0!select last_price:last price, last_qty: last qty, low_qty: min qty by exch,sym,side,1 xbar time.second from trades
/apply pivot function on aggregated trade table
piv[`tt;`second;`exch`sym`side;`last_price`last_qty`low_qty]
"""
Run Code Online (Sandbox Code Playgroud)
以下qpython客户端仅调用远程kdb + / q服务器即可检索对上述查询的响应
with qconnection.QConnection(host='localhost', port=5001, …Run Code Online (Sandbox Code Playgroud)