gpt4 book ai didi

python - 如何从字符串创建一个 numpy 数组?

转载 作者:太空狗 更新时间:2023-10-29 18:16:16 41 4
gpt4 key购买 nike

我有一个文件读取器,它从文件中读取 n 个字节并返回表示该(二进制)数据的字符字符串。我想将 n 个字节读入一个 numpy 数组并对其运行 FFT,但我在从字符串创建数组时遇到了问题。几行示例会很棒。

编辑:我正在读取原始二进制数据,所以我得到的字符串看起来像 '\x01\x05\x03\xff'...。我希望它成为 [1, 5, 3, 255]

最佳答案

在 Python 2 中,您可以直接使用 numpy.fromstring 执行此操作:

import numpy as np
s = '\x01\x05\x03\xff'
a = np.fromstring(s, dtype='uint8')

一旦完成,a 就是 array([ 1, 5, 3, 255]) 并且您可以使用常规的 scipy/numpy FFT 例程。

在 Python 3 中,切换到默认的 Unicode 字符串意味着您可以将数据作为字节串读入并改为使用 frombuffer 命令:

import numpy as np
s = b'\x01\x05\x03\xff'
a = np.frombuffer(s, dtype='uint8')

得到相同的结果。

关于python - 如何从字符串创建一个 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4090981/

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