有一种Q
基于的新语言,R
它基于S
......你明白了.
可悲的是,Q
自动化unicoins似乎非常缓慢.另外,Q
我们的小游戏没有TIME!
我有两个目录,每个目录包含一个日期分区的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)
怎么了?
我跳进另一个命名空间后,如何访问根命名空间中的函数/变量.
像这样的例子:
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)
如何访问根命名空间?
谢谢
我知道这个资源。但它没有说明.u.upd
需要哪些参数以及如何检查它是否有效。
该语句执行没有错误,尽管它似乎没有做任何事情:
.u.upd[`t;(`$"abc";1;2;3)]
Run Code Online (Sandbox Code Playgroud)
如果我事先定义了表格,例如
t:([] name:"aaa";a:1;b:2;c:3)
Run Code Online (Sandbox Code Playgroud)
那么上面的.u.upd
仍然运行没有错误,并且不会改变t
。
我想使用点符号来提取日期年份.
q) myDate:2014.01.01;
q) myDate.year
2014i / works OK
Run Code Online (Sandbox Code Playgroud)
但是当进入一个功能时,
f:{[x] :x.year};
f[myDate]
Run Code Online (Sandbox Code Playgroud)
我收到错误(我使用Studio for KDB +)
An error occurred during execution of the query.
The server sent the response:
x.year
Run Code Online (Sandbox Code Playgroud)
出了什么问题?
任何想法如何在KDB中做得很好?
考虑一下表格
X:([]a:1 2 3;b:`abc11`abc22`abc33;c:10 20 30)
Run Code Online (Sandbox Code Playgroud)
我现在想要一个新的表Y,它在第二列的符号中删除了"abc",这样:
Y:([]a:1 2 3;b:`11`22`33;c:10 20 30)
Run Code Online (Sandbox Code Playgroud) 是否有在 kdb/q 中获取 Unix 时间戳的内置方法?
就像是
`float$.z.p
Run Code Online (Sandbox Code Playgroud)
将是理想的;否则我将不得不求助于更费力的实现,我从 1970 年 1 月 1 日开始计算秒数。
如果原子在值列表中,是否有一种通过原子值查找字典键的简洁方法?
假设:字典的值列表具有每个唯一元素
例:
d:`tech`fin!(`aapl`msft;`gs`jpm) / would like to get key `fin by looking up `jpm
d?`gs`jpm / returns `fin as expected
d?`jpm / this doesn't work unfortunately
$[`jpm in d`fin;`fin;`tech] / this is the only way I can come up with
Run Code Online (Sandbox Code Playgroud)
最后一个选项不能很好地扩展键的数量
谢谢!
我在 kdb 中有一个表,有 3 列:日期、货币、汇率。一些外汇丢失,我想用前一天的值替换空外汇,显然是同一种货币。我不能按原样使用填充,因为它可能会混合货币。我尝试用 group by 的变体填充,但它不起作用。你知道怎么做吗?这是我的错误查询:
update fills fx from (`ccy`date xasc t)
Run Code Online (Sandbox Code Playgroud)
这是原始表(组成数据):
date ccy fx
2017.08.01 AUS 0.57
2017.08.01 CAN 0.61
2017.08.01 EUR 0.91
2017.08.01 USD 0n
2017.08.02 AUS 0n
2017.08.02 CAN 0.62
2017.08.02 EUR 0n
2017.08.02 USD 0n
2017.08.03 AUS 0n
2017.08.03 CAN 0n
2017.08.03 EUR 0n
2017.08.03 USD 0n
2017.08.04 AUS 0.57
2017.08.04 CAN 0.62
2017.08.04 EUR 0.91
2017.08.04 USD 0.78
2017.08.05 AUS 0.59
2017.08.05 CAN 0.61
2017.08.05 EUR 0.92
2017.08.05 USD …
Run Code Online (Sandbox Code Playgroud)