【发布时间】:2018-09-10 10:47:13
【问题描述】:
我正在使用 qpython 查询 KDB+ 数据库,然后对输出执行操作。 old_df 是早期 qpython 同步查询的输出,其中 '[source_id]' 作为字符串列。现在正在查询另一个数据库trades_database,它在不同的列名customer下具有相同的字段(如source_id)(也是字符串,数据类型没有问题)
params = np.array([])
for i in old_df['source_id']:
params = np.append(params, np.string_(i))
new_df = q.sync('{[w]select from trade_database where customer in w}', *params, pandas=True)
不幸的是,网上很少有可以解决此类查询的。我从这里提出的问题中学到了很多东西,但我真的被困在这里。我的列表可能很长,因此需要编写一个仅作为输入的查询。
我也试过了:
new_df= q1.sync('{select from trades_database where customer in (`1234, `ABCD)}', pandas=True)
这行得通,但我明白了
<qpython.qtype.QLambda object at 0x000000000413F710>
如何“解包” QLambda 对象?
如果我不允许在同一个帖子中问 2 个问题,请忽略第二个问题。在那种情况下道歉。
谢谢!
【问题讨论】: