Heim  >  Artikel  >  Backend-Entwicklung  >  So speichern und lesen Sie Numpy-Arrays

So speichern und lesen Sie Numpy-Arrays

php中世界最好的语言
php中世界最好的语言Original
2018-04-09 15:53:223231Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn