Serialisieren ein Tupel von numpy arrays
Habe ich ein paar numpy-Matrizen (3-dimensional, um genau zu sein), die gespeichert werden in Tupeln
(a1,b1,c1)
(a2,b2,c2)
...
(an,bn,cn)
Ich würde gerne serialisieren jedes Tupel in eine Datei, die gelesen werden können, wieder in Python auf einer anderen Maschine (Linux => Windows sind beide x86-64). Was wäre ein pythonic Weg, dies zu erreichen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
numpy.savez oder numpy.savez_compressed ist der Weg zu gehen. Ich habe gehört, aber nie Probleme mit der bestimmte Typen von arrays nicht Beizen gut.
Ich bin eingedenk diese post (scheint nicht zu viel von einem Problem) sowie etwas über numpy.void nicht Beizen. Wahrscheinlich nicht ein Problem, aber es ist so.
Gurke wird wahrscheinlich gut funktionieren
Sah ich auch dieses: http://thsant.blogspot.com/2007/11/saving-numpy-arrays-which-is-fastest.html
Verwenden
Regal
,Gurke
,cPickle
, oderschieben
. Jeder von diesen wird lassen Sie Sie speichern die meisten Arten der python-Objekte in eine Datei;shove
undshelve
Fokus auf dictionary-ähnliche Objekte, die anzeigen Tasten, um Werte undshove
lassen Sie eine Vielzahl von Datenbank-backends. Wenn Sie finden, sich selbst übertreffen der performance-Einschränkungen, die auf diesen Bibliotheken sind, prüfen, geht die Datenbank route, z.B. durch SQLAlchemy.Ich habe jede dieser Bibliotheken, und Sie funktionieren Recht gut in Ihrer eigenen Nische. Ich würde anfangen mit
pickle
odershelve
, die standard-Bibliothek.Ich verwende in der Regel
cPickle
, obwohl ich nicht getan habe, einen formalen Vergleich mit anderen Methoden. Darüber hinaus Schreibe ich immer die Datei als Binär und in höchster Protokoll-Einstellung: