convertir una cadena binaria a una matriz numpy

Supongamos que tengo la cadena:

my_data = '\x00\x00\x80?\x00\x00\x00@\x00\x00@@\x00\x00\x80@'

El lugar donde lo obtuve es irrelevante, pero por el simple hecho de tener algo concreto, supongamos que lo leí de un archivo binario.

Sé que mi cadena es la representación binaria de 4 (4 bytes) flotantes. Me gustaría obtener esos flotadores como una matriz numpy. yopodría hacer:

import struct
import numpy as np
tple = struct.unpack( '4f', my_data )
my_array = np.array( tple, dtype=np.float32 )

Pero parece tonto crear una tupla intermedia. ¿Hay una manera de hacer esta operación sin crear una tupla intermedia?

EDITAR

También me gustaría poder construir la matriz de tal manera que pueda especificar la endianidad de la cadena.

Respuestas a la pregunta(1)

Su respuesta a la pregunta