Kann mir jemand ein Beispiel geben, wie man eine 2-d-Matrix in einer Datei speichert und sie für die weitere Verwendung erneut lädt?Speichern und Laden einer Numpy-Matrix in Python
Antwort
>>> import numpy
>>> mat = numpy.matrix("1 2 3; 4 5 6; 7 8 9")
>>> mat.dump("my_matrix.dat")
>>> mat2 = numpy.load("my_matrix.dat")
Hoppla! viel besser! – joaquin
können Sie Ihre Matrix Beize:
>> import numpy
>> import pickle
>> b=numpy.matrix('1 2; 3 4')
>> f=open('test','w')
>> pickle.dump(b, f)
>> f.close()
>> f2 = open('test', 'r')
>> s = pickle.load(f2)
>> f2.close()
>> s
matrix([[1, 2],
[3, 4]])
Tamas Antwort als diese viel besser ist: numpy Matrizes Objekte eine direkte Methode, um sie zu beizen haben.
Beachten Sie in jedem Fall, dass die Pickel-Bibliothek ein allgemeines Werkzeug zum Speichern von Python-Objekten einschließlich Klassen ist.
Auch die numpy integrierten Methoden sind viel, viel schneller als mit Pickle (oder sogar cPickle). Das habe ich vor einiger Zeit persönlich herausgefunden. Der Geschwindigkeitsunterschied war sehr beträchtlich für das, was ich tat. –
@Justin: Interessant. Sind sie kompatible Bibliotheksbeize und numpige Gurke? – joaquin
Ich weiß es nicht genau. Ich denke, dass der Grund dafür ist, dass die numpy Methoden verwendet werden, um die Arrays effizienter zu speichern, wo die meiste Geschwindigkeit herkommt. Ich sage das, weil meiner Erfahrung nach die Größen der entsprechenden Dateien für Pickles und Numpys Methoden viel kleiner sind. Es mag andere Gründe geben, aber das reicht mir. –
Mögliche doppelte: http://StackOverflow.com/Questions/1706665/loading-and-saving-numpy-matrix. – mtrw