преобразовать двоичную строку в массив NumPy
Предположим, у меня есть строка:
my_data = '\x00\x00\x80?\x00\x00\x00@\x00\x00@@\x00\x00\x80@'
Где я получил это не имеет значения, но ради того, чтобы иметь что-то конкретное, предположим, что я прочитал это из двоичного файла.
Я знаю, что моя строка является двоичным представлением 4 (4-байтовых) чисел с плавающей точкой. Я хотел бы получить эти поплавки в виде массива. яcould делать:
import struct
import numpy as np
tple = struct.unpack( '4f', my_data )
my_array = np.array( tple, dtype=np.float32 )
Но глупо создавать промежуточный кортеж. Есть ли способ сделать эту операцию без создания промежуточного кортежа?
EDIT
Я также хотел бы иметь возможность построить массив таким образом, чтобы я мог указать порядок строки.