【问题标题】:Numpy convert from binary string to array of floatsNumpy 从二进制字符串转换为浮点数组
【发布时间】:2017-12-18 13:06:32
【问题描述】:

我有一个长度为 16 的特征向量作为 BLOB 存储在 mysql 中,我正在 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 数组?

【问题讨论】:

    标签: python mysql arrays numpy


    【解决方案1】:

    你可以使用:

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

    不用b','拆分,可以通过sep提供。它与字节一样工作,但更准确地说,您应该使用text.decode('ascii')

    【讨论】:

      猜你喜欢
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 2021-12-28
      • 2019-10-31
      • 2021-10-24
      • 2013-03-22
      相关资源
      最近更新 更多