Lets sagen, ich habe drei Vektoren a
, b
und c
:Wie erstellt man eine numpige Matrix mit unterschiedlichen Spaltendatentypen?
a = np.array([1,2,3])
b = np.array([1.2, 3.2, 4.5])
c = np.array([True, True, False])
Was ist der einfachste Weg, dies in eine Matrix drehen d
unterschiedlichen Datentypen und Spaltenbeschriftungen, die als solche:
d = ([[1, 1.2, True],
[2, 3.2, True],
[3, 4.5, False]],
dtype=[('aVals','i8'), ('bVals','f4'), ('cVals','bool')])
So dass ich dann diese Matrix in eine .npy
Datei speichern und auf die Daten als solche nach dem Öffnen zugreifen kann;
>>> d = np.load('dFile')
>>> d['aVals']
np.array([1,2,3], dtype = [('aVals', '<i8)])
Ich habe eine CIMple verwendet column_stack
die Matrix zu erstellen, aber ich Kopfschmerzen bekommen, um herauszufinden, wie die Datentypen und Spaltennamen enthalten, da column_stack
akzeptiert keine dtype
Argument, und ich kann‘ t Einen Weg finden, Feldnamen und Datentypen hinzuzufügen, nachdem die column_stack
durchgeführt wurde. Es ist erwähnenswert, dass die Vektoren a
, b
und c
keine expliziten Datentypen haben, die bei ihrer Erstellung deklariert wurden, sie sind wie oben gezeigt.
By the way, wenn Sie einfach tun, sind dies die Arrays zu speichern, könnten Sie 'np.savez (outfile, Avale = a, bVals = b, cVals = c) 'um alle drei Arrays in einer komprimierten npz-Datei zu speichern. – unutbu