gpt4 book ai didi

python - 将 numpy unit8 原始数组直接转换为 float32

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:03 27 4
gpt4 key购买 nike

在我的情况下,我得到一个 numpy.ndarray 作为 unit8 大小 4 * n 代表 float32 的原始二进制数据 实体。所以 4 项一起代表一个 float32。为了获得 float32 数字,我目前将 uint8 原始数据转换为二进制字符串,然后从该字符串中读取 float32 值。

np.fromstring(raw_unit8_data.tostring(), dtype='<f4')

是否可以直接进行这种转换而不先将 uint8 数据转换为字符串?

最佳答案

你可以使用 view让 NumPy 将原始数据重新解释为适当的数据类型。例如:

>>> raw_unit8_data = np.array([32, 14, 135, 241], dtype='uint8')
>>> raw_unit8_data.view('<f4')
array([ -1.33752168e+30], dtype=float32)

这样做的好处是不使用任何临时数组或缓冲区(我们只是改变内存的读取方式)并提供与当前方法相同的值:

>>> np.fromstring(raw_unit8_data.tostring(), dtype='<f4')
array([ -1.33752168e+30], dtype=float32)

关于python - 将 numpy unit8 原始数组直接转换为 float32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707789/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com