przekonwertować łańcuch binarny na tablicę numpy

Załóżmy, że mam ciąg:

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

Gdzie mam to jest nieistotne, ale ze względu na posiadanie czegoś konkretnego, zakładam, że przeczytałem to z pliku binarnego.

Wiem, że mój ciąg jest binarną reprezentacją 4 (4-bajtowych) pływaków. Chciałbym uzyskać te zmienne jako tablicę numpy. jamógłby robić:

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

Ale wydaje się głupie, aby utworzyć pośrednią krotkę. Czy istnieje sposób na wykonanie tej operacji bez tworzenia pośredniej krotki?

EDYTOWAĆ

Chciałbym również móc skonstruować tablicę w taki sposób, że mogę określić endianność ciągu.

questionAnswers(1)

yourAnswerToTheQuestion