我有一个二进制文件
16b-Real (little endian, 2s compliment)
16b-Imag (little endian, 2s compliment)
.....repeating
我需要把它转换成一维复数数组。不知道如何将“元组或列表”组合成一个值
import numpy as np
dtype = np.dtype([('i','<i2'), ('q','<i2')])
array = np.fromfile(data_file, dtype=dtype)
print(array)
el = array[0]
print(el)
print(type(el))
输出:
[(531, -660) (267, -801) (-36, -841) ... (835, -102) (750, -396)
(567, -628)]
(531, -660)
<class 'numpy.void'>
期望输出:
[531-660j, 267-801j,...]
因此,您已将该文件加载为具有2个整型字段的结构化数组:
我们可以用适当的
1j
乘法器将这两个字段相加,形成一个复杂的数组:如果我没弄错的话,
numpy
只实现浮点复数(64位和128位),所以可能已经经历了这个<i2
阶段。你知道吗在遍历元组列表时,可以将每个元组转换为complex数字
输出将是
相关问题 更多 >
编程相关推荐