我有一个长度为16的特征向量存储在mysql中作为BLOB,我在python中获取该BLOB。它被取为二进制字符串。我目前正在使用以下方法将其转换为数组:
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
有没有办法在不使用list(map)
的情况下将此字符串转换为numpy数组?
答案 0 :(得分:1)
您可以使用:
import numpy as np
np.fromstring(text, sep=',')
无需通过b','
将其拆分,您可以通过sep
提供。它与字节一样工作,但更准确地说,你应该使用text.decode('ascii')
。