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