说:
q) \a .x
`a`b
q) \f .x
`f1`f2
Run Code Online (Sandbox Code Playgroud)
我只需要删除表 a 和 b 而不是函数。现在在这种情况下,我可以简单地说,delete a,b from `.x但有没有办法将其功能化?
这就是我们通常将CSV(包含5个字符串列)导入表格的方式.
table: ("SSSSS" ;enlist ",") 0: `input.csv
Run Code Online (Sandbox Code Playgroud)
但是,我有一个包含255列的CSV文件.我需要输入255 S才能以这种方式导入它们吗?
k1:([a:("ff"; "yy"; "zz");z:("tt"; "yy"; "hh")] b:("33"; "44"; "55"); c:("66"; "77"; "88"))
k2:([z:()] a:(); b:(); c:(); m:(); i:())
Run Code Online (Sandbox Code Playgroud)
k1并且k2是键控表.k2拥有所有列k1和更多.
如何从执行条件UPSERT k1来k2.基本上,下面的相应工作说明是什么:
`k2 upsert select k1 where a="ff"
Run Code Online (Sandbox Code Playgroud) 给定(矩形)邻接矩阵m,如何在q语言中构造邻接表?
在QIdioms wiki中,我找到了k一种语言解决方案,当通过qconsole with k)command 运行时会给出'vs错误:
m:(1 0 1;1 0 1)
k) (^m)_vs &,/m
'vs
Run Code Online (Sandbox Code Playgroud)
结果应该是:
0 0 1 1
0 2 0 2
Run Code Online (Sandbox Code Playgroud)
这是我能够复制的q:
k) &,/m
0 2 3 5
q) where raze m
0 2 3 5
Run Code Online (Sandbox Code Playgroud)
k的^又名shape动词用的是失踪q,所以我只是做:
k) (^m)
000b
000b
q) 2 3#0b
000b
000b
Run Code Online (Sandbox Code Playgroud)
现在,因为:
q) parse "vs"
k) {x\:y}
Run Code Online (Sandbox Code Playgroud)
我试过两次都失败了:
q) (2 …Run Code Online (Sandbox Code Playgroud) 昨晚我在我的系统上安装了q和kdb 32位.我一直在工作中使用它,每当我在工作时按下向上箭头键它就会回忆起上一个命令.这似乎不适用于我的家庭安装.当我点击它时它打印^ [[A. 我怎样才能解决这个问题?
我正在学习kdb +/q.我有一张数据表.我想获取2列数据(只是数字),比较它们并创建一个新的布尔列,该列将显示第1列中的值是否大于或等于第2列中的值.
我很乐意使用update命令创建一个新列,但我不知道如何确保它是布尔值,如何比较值以及显示"大于或等于"的方法" - 有可能为此做一个简单的Y/N输出吗?
谢谢.
我有一个名为"t"的表,列为"x".它看起来如下:
x
------
1.Fred
2.Joe
3.Hank
.
.
.
500.Mary
Run Code Online (Sandbox Code Playgroud)
我需要取列并删除名称前的所有内容,例如"1".弗雷德之前
我已经尝试过更新,$2_'string x from t但这只适用于数字1-9而不是一次我得到更大的数字.有没有办法删除"." 以及之前的一切?
我正在寻找有效的功能来获得Q的第一天.喜欢2017.05.10 -> 2017.01.01或者2016.08.19 -> 2016.01.01.
下一个片段有效,但效率不高
{"D"$(string `year$x),".01.01"} .z.d
Run Code Online (Sandbox Code Playgroud) 假设我有一个字典
d:flip(100 200 400 800 1600; 1 3 4 6 10)
Run Code Online (Sandbox Code Playgroud)
如何创建一个返回大于x的最小键值的查找函数?给出一张桌子
tbl:flip `sym`val!(`a`b`c`d; 50 280 1200 1800)
Run Code Online (Sandbox Code Playgroud)
我想做点什么
{[x] : update new:fun[x[`val]] from x} each tbl
Run Code Online (Sandbox Code Playgroud)
最终在这样的桌子
tbl:flip `sym`val`new!(`a`b`c`d; 50 280 1200 1800; 1 4 10 0N)
sym val new
a 50 1
b 280 4
c 1200 10
d 1800
Run Code Online (Sandbox Code Playgroud) 在kdb中保存pandas数据帧的最佳方法是什么?有没有可以让它更容易的库?
下面的代码显然可以用来从kdb中获取一些东西,但是如何将数据框保存到它中呢?
from qpython import qconnection
with qconnection.QConnection(host = 'localhost', port = 5001, pandas = True) as q:
ds = q('(1i;0Ni;3i)', pandas = True)
print(ds)
Run Code Online (Sandbox Code Playgroud)