Машинное обучение в q/kdb+

Если у меня есть таблица, хранящаяся в моем процессе hdb на порту 5012.

Я установил PyKX и успешно импортировал его в командную строку Python в терминале.

Затем я подключаюсь к своему host=‘localhost’, port=5012 и выполняю простой запрос, чтобы вернуть свои данные из hdb q(‘{select name,price,volume,vwap from tab where date>2024.01.01}’)

Как мне затем использовать эти данные в одном из алгоритмов машинного обучения Python. Как вы преобразовываете данные таблицы в пригодные для использования точки данных Python, чтобы затем использовать их в выбранной вами модели? Вам нужно извлечь каждый столбец данных и сохранить его как переменную определенного типа, например, запустить оператор exec в процессе q?


73
2

Ответы:

Я думаю, вы бы конвертировали его в фрейм данных pandas и работали с ним? Что-то вроде

import pandas as pd

kobj = q('{select name,price,volume,vwap from tab where date>2024.01.01}')
mydf = pd.DataFrame(dict(kobj.flip))

Решено

С помощью PyKX вы сможете конвертировать в фрейм данных pandas, используя метод .pd для объектов PyKX (в данном случае таблиц), для вашего примера это будет

q(‘select name,price,volume,vwap from tab where date>2024.01.01’).pd()

Предположим, что таблица tab доступна из памяти q и/или вы используете удаленный процесс q, содержащий ваши данные.