converter string binária em matriz numpy
Suponha que eu tenha a string:
my_data = '\x00\x00\x80?\x00\x00\x00@\x00\x00@@\x00\x00\x80@'
Onde eu consegui isso é irrelevante, mas por causa de algo concreto, suponho que eu o li de um arquivo binário.
Eu sei que minha string é a representação binária de 4 (4 bytes) flutuantes. Eu gostaria de obter esses flutuadores como um array numpy. Eupoderia Faz:
import struct
import numpy as np
tple = struct.unpack( '4f', my_data )
my_array = np.array( tple, dtype=np.float32 )
Mas parece bobo criar uma tupla intermediária. Existe uma maneira de fazer essa operação sem criar uma tupla intermediária?
EDITAR
Eu também gostaria de poder construir o array de tal forma que eu possa especificar o endianness da string.