2017-12-18 287 views
0

我有一個長度爲16的特徵向量作爲BLOB存儲在mysql中,我在Python中獲取該BLOB。它被作爲二進制字符串提取。我目前正在將其轉換爲一個數組首先使用:Numpy從二進制字符串轉換爲浮點數組

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)轉換?

回答

1

您可以使用:

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

沒有必要通過b','拆分它,你可以通過sep提供。它與字節一樣工作,但更確切地說,您應該使用text.decode('ascii')