Я использую qpython для запроса к базе данных KDB +, а затем выполняю операции на выходе. old_df
выводится из более раннего запроса синхронизации qpython, в котором '[source_id]'
представляет собой строковый столбец. Теперь я запрашиваю в другой базе данных trades_database
, которая имеет те же поля (как source_id
) под другим именем столбца customer
(также строка, без проблем в типе данных)
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-й вопрос, если мне не разрешено задавать 2 вопроса в одном и том же сообщении, пожалуйста. Извинения в этом случае.
Спасибо!