Kann ich ein Wörterbuch mit np.savez speichern? Die Ergebnisse sind überraschend (zumindest für mich) und ich finde keinen Weg, meine Daten per Schlüssel zurück zu bekommen.
%Vor%Ich verstehe nicht genau, was vor sich geht. Es scheint, dass meine Daten zu einem Wörterbuch innerhalb eines 0-dimensionalen Arrays werden, so dass ich keine Möglichkeit habe, meine Daten per Schlüssel zurückzubekommen. Oder vermisse ich etwas?
Meine Fragen sind also:
Danke!
Es ist möglich, die Daten wiederherzustellen:
%Vor%Beachten Sie, dass der dtype "Objekt" ist.
%Vor%Und es gibt nur ein Element im Array. Dieser Gegenstand ist ein Python-Diktat!
%Vor% Sie können den Wert mit der item()
-Methode abrufen (Hinweis: Dies ist nicht der
items()
Methode für Wörterbücher, noch etwas, das dem NpzFile
innewohnt
Klasse, aber ist die Methode numpy.ndarray.item()
das kopiert den Wert im Array zu einem Standard Python skalars . In einem Array von object
dtype ist ein beliebiger Wert in einer Zelle des Arrays (selbst ein Wörterbuch) ein Python-Skalar:
So stellen Sie a
als Diktat wieder her:
Basierend auf dieser Antwort: recover dict von 0-d numpy array
Nach
%Vor%können Sie
verwenden %Vor%Es würde auch ohne die Verwendung eines Schlüsselwortarguments funktionieren, aber ich dachte, dass es sich lohnt, es zu teilen.
Tags und Links python arrays save dictionary numpy