Я пытаюсь сохранить несколько маринованных массивов Numpy в базе данных SQL. Массивы Numpy являются 3D и имеют вид (Name (text), Data (floats), Date (int)
.Numpy Array to SQL Table
Я сейчас делаю это следующим образом (для массива arr
, содержащего данные и names
и dates
в качестве ссылок, содержащих фактические имена и даты соответствующих для arr
)
name_size, ~, date_size = arr.shape
for i in range(name_size):
for j in range(date_size):
insert_into_db(name[i], date[j], arr[i,:,j)
Однако это очень медленно. Мне интересно, нет ли более эффективного способа, просто рассматривая объект arr
в целом.
Например вставить ссылки в names
и dates
в базу данных, а затем как-то просто скопировать значения в arr
прямо во всех сразу (где они упорядочены и правильно сплющенные со ссылкой на значения Name
и Date
мы имеем только вставлено.
Почему вы используете SQL для протравливания NumPy массивы? вы всегда можете использовать модуль 'Pickle' для python для хранения почти всех объектов Python в файле' .p' и, при необходимости, доступа? Это уменьшит количество накладных расходов. – ZdaR
Я не использую SQL для разборки, я создаю базу данных объектов, которые я ранее мариновал для более эффективного запроса. Формат маринованного объекта был массивом numpy, но это будет неактуально, как только информация будет вставлена в базу данных. – rwolst