qPython QProjection 问题,而不是查询的数据



我尝试编写一个 Q 代码,它将允许我传递参数,但我得到的结果是 Qprojection。我试过使用

qpython.sync(( 返回的是 QProjection 而不是查询的数据

但解决方案不起作用(Q/kdb 世界的新手( 关于我应该改变什么的任何想法?

q.sync(
'''{[x;y;z]select from quotestackevent where date within(x;y),sym=z}''', 
[np.datetime64('2018-04-14','D'), #start date
np.datetime64('2018-04-14','D'), #end date
np.string_('GBPUSD')])

在Q/KDB中,函数格式是{......}[x;y;z],其中x y z是参数。如果保留了一个空白参数,则该函数将成为投影。

Qpython 允许您将 Python 参数传递给 q 函数,格式为q.sync('{......}',x,y,z)

在您的示例中,方括号导致输入作为单个数组传递给函数,从而导致投影。这可以通过删除方括号来修复。

q.sync('{[x;y;z]select from quotestackevent where date within(x;y),sym=z}', np.datetime64('2018-04-14','D'), np.datetime64('2018-04-14','D'), np.string_('GBPUSD'))

希望这有帮助!

最新更新