Numpy конвертировать из двоичной строки в массив с плавающей точкой

0

У меня есть вектор функций длиной 16, хранящийся в mysql как BLOB, и я получаю этот BLOB в python. Он выбирается как двоичная строка. В настоящее время я преобразовываю его в массив, используя:

list(map(lambda x: list(map(float, x['encoded_vals'].split(b','))), 
    visual_features))

Мой диктор выглядит примерно так:

{img_id: 1, encoded_vals: b'0.99451257448,0.8541256468...'} # Till 16 values

Есть ли способ преобразовать эту строку в массив numpy без использования list(map)?

Теги:
arrays
numpy

1 ответ

1
Лучший ответ

Ты можешь использовать:

import numpy as np
np.fromstring(text, sep=',')

Нет необходимости разбивать его на b',' вы можете предоставить его через sep. Он работает так же, как и с байтами, но, если быть более точным, вы должны использовать text.decode('ascii').

Ещё вопросы

Сообщество Overcoder
Наверх
Меню