小编Tho*_*yth的帖子

如何只删除kdb中的表?

说:

q) \a .x
`a`b

q) \f .x
`f1`f2
Run Code Online (Sandbox Code Playgroud)

我只需要删除表 a 和 b 而不是函数。现在在这种情况下,我可以简单地说,delete a,b from `.x但有没有办法将其功能化?

kdb

2
推荐指数
1
解决办法
2959
查看次数

如何在KDB中导入带有大标头的CSV?

这就是我们通常将CSV(包含5个字符串列)导入表格的方式.

table: ("SSSSS" ;enlist ",") 0: `input.csv
Run Code Online (Sandbox Code Playgroud)

但是,我有一个包含255列的CSV文件.我需要输入255 S才能以这种方式导入它们吗?

kdb

2
推荐指数
1
解决办法
111
查看次数

KDB:如何从一个表插入/插入行到另一个表

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 k1k2.基本上,下面的相应工作说明是什么:

`k2 upsert select k1 where a="ff"
Run Code Online (Sandbox Code Playgroud)

kdb

2
推荐指数
1
解决办法
145
查看次数

[kdb +/q]:将邻接矩阵转换为邻接列表

给定(矩形)邻接矩阵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)

k kdb q-lang

1
推荐指数
1
解决办法
259
查看次数

q翻译不回忆Ubuntu 16.04上的历史

昨晚我在我的系统上安装了q和kdb 32位.我一直在工作中使用它,每当我在工作时按下向上箭头键它就会回忆起上一个命令.这似乎不适用于我的家庭安装.当我点击它时它打印^ [[A. 我怎样才能解决这个问题?

在此输入图像描述

ubuntu kdb q-lang

1
推荐指数
1
解决办法
95
查看次数

创建一个布尔列,显示kdb +中其他2列之间的比较

我正在学习kdb +/q.我有一张数据表.我想获取2列数据(只是数字),比较它们并创建一个新的布尔列,该列将显示第1列中的值是否大于或等于第2列中的值.

我很乐意使用update命令创建一个新列,但我不知道如何确保它是布尔值,如何比较值以及显示"大于或等于"的方法" - 有可能为此做一个简单的Y/N输出吗?

谢谢.

kdb q-lang

1
推荐指数
1
解决办法
899
查看次数

删除字符串KDB的一部分

我有一个名为"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而不是一次我得到更大的数字.有没有办法删除"." 以及之前的一切?

kdb q-lang

1
推荐指数
1
解决办法
1638
查看次数

如何获得KDB/Q的第一天?

我正在寻找有效的功能来获得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)

kdb q-lang

1
推荐指数
1
解决办法
1399
查看次数

kdb voolkup.从映射到大于x的最小val的表中获取值

假设我有一个字典

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 q-lang

1
推荐指数
1
解决办法
144
查看次数

将pandas数据帧保存在kdb/q中

在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)

kdb pandas

1
推荐指数
1
解决办法
1163
查看次数

标签 统计

kdb ×10

q-lang ×6

k ×1

pandas ×1

ubuntu ×1