Heim > Artikel > Backend-Entwicklung > So speichern und lesen Sie Numpy-Arrays
Dieses Mal zeige ich Ihnen, wie Sie Numpy-Arrays speichern und lesen. Welche Vorsichtsmaßnahmen gibt es zum Speichern und Lesen von Numpy-Arrays? Das Folgende ist ein praktischer Fall schau mal.
1. Arrays werden im Binärformat gespeichert
np.save und np.load sind die beiden Hauptmethoden zum Lesen und Schreiben von Festplatten-Arrays DatenFunktion. Standardmäßig wird das Array in einer Datei mit der Erweiterung npy im unkomprimierten Rohbinärformat gespeichert. Am Beispiel von Array a
np.save("filename.npy",a) b = np.load("filename.npy")
Mit dieser Methode wird der Suffixname der gespeicherten Datei definitiv festgelegt . Für .npy
2. Auf Textdateien
kann mit np.savetxt und np.loadtxt nur eindimensional und geschrieben werden 2-dimensionales Array
np.savetxt:Schreiben Sie das Array in eine Textdatei, getrennt durch ein bestimmtes Trennzeichen
np.loadtxt:Geben Sie ein an Bestimmtes Trennzeichen, lesen Sie die Textdatei in ein Array
np.savetxt("filename.txt",a) b = numpy.loadtxt("filename.txt", delimiter=',')
3. Speichern Sie sie als Binärdatei
Verwenden Sie die tofile-Funktion von das Array Sie können die Daten im Array problemlos in eine Datei im Binärformat schreiben
a.tofile("filename.bin") b = np.fromfile("filename.bin",dtype = **)
Diese Methode weist mehrere Unterschiede zu np.save auf:
Die tofile-Funktion kann Arrays nur als Binärdateien speichern und es gibt keine feste Anforderung für die Dateierweiterung. Für diese Speichermethode sind Anforderungen an das Lesen der Daten erforderlich. Wenn das angegebene Format nicht mit dem beim Speichern angegebenen Format übereinstimmt, werden die falschen Daten gelesen. Die Funktion
tofile kann die Zeilen- und Spalteninformationen der aktuellen Daten nicht speichern, unabhängig davon, ob die Reihenfolge des Arrays im C-Sprachformat oder im Fortran-Sprachformat, der C-Sprache, vorliegt Format wird für die Ausgabe verwendet. Daher handelt es sich bei den mit np.fromfile ausgelesenen Daten um ein eindimensionales Array , und es muss eine Umformung verwendet werden, um die Zeilen- und Spalteninformationen anzugeben.
Zum Beispiel wie im folgenden Beispiel gezeigt:
>>> a = np.arange(0,12) >>> a.shape = 3,4 >>> a array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> a.tofile("a.bin") >>> b = np.fromfile("a.bin", dtype=np.float) # 按照float类型读入数据 >>> b # 读入的数据是错误的 array([ 2.12199579e-314, 6.36598737e-314, 1.06099790e-313, 1.48539705e-313, 1.90979621e-313, 2.33419537e-313]) >>> a.dtype # 查看a的dtype dtype('int32') >>> b = np.fromfile("a.bin", dtype=np.int32) # 按照int32类型读入数据 >>> b # 数据是一维的 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) >>> b.shape = 3, 4 # 按照a的shape修改b的shape >>> b array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall hier gelesen haben Bitte achten Sie auf weitere spannende Artikel auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Wie Python Numpy Arrays und Matrizen bedient
Python implementiert die Methode zur Lösung des größten gemeinsamen Teilers
Das obige ist der detaillierte Inhalt vonSo speichern und lesen Sie Numpy-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!