NumPy IO
NumPy kann Textdaten oder Binärdaten auf der Festplatte lesen und schreiben.
NumPy führt ein einfaches Dateiformat für ndarray-Objekte ein:npy。
Die npy-Datei wird verwendet, um die Daten, die Form, den dtype und andere Informationen zu speichern, die zur Rekonstruktion des ndarray erforderlich sind.
Häufig verwendete E/A-Funktionen sind:
- Die Funktionen load() und save() sind die beiden Hauptfunktionen zum Lesen und Schreiben von Array-Daten in Dateien. Standardmäßig werden Arrays in einem unkomprimierten rohen Binärformat in Dateien mit der Erweiterung .npy gespeichert.
- Die Funktion savez() wird verwendet, um mehrere Arrays in eine Datei zu schreiben. Standardmäßig werden Arrays in einem unkomprimierten rohen Binärformat in Dateien mit der Erweiterung .npz gespeichert.
- Die Funktionen loadtxt() und savetxt() verarbeiten normale Textdateien (wie .txt).
numpy.save()
Die Funktion numpy.save() speichert ein Array in einer Datei mit der Erweiterung .npy.
numpy.save(file, arr, allow_pickle=True, fix_imports=True)
Parameter description:
- filefile: Die zu speichernde Datei mit der Erweiterung .npy. Wenn der Dateipfad nicht mit der Erweiterung .npy endet, wird die Erweiterung automatisch hinzugefügt.
- arrarr: Das zu speichernde Array.
- allow_pickleallow_pickle: Optional, boolesch. Ermöglicht das Speichern von Objekt-Arrays mithilfe von Python-Pickles. Pickle in Python wird verwendet, um Objekte zu serialisieren und zu deserialisieren, bevor sie in eine Datei auf dem Datenträger gespeichert oder daraus gelesen werden.
- fix_importsfix_imports: Optional, zur Vereinfachung beim Lesen von Daten, die von Python3 in Python2 gespeichert wurden.
Beispiel
Wir können den Inhalt der Datei anzeigen:
$ cat outfile.npy
?NUMPYv{'descr': '<i8', 'fortran_order': False, 'shape': (5,), }
$ cat outfile2.npy
?NUMPYv{'descr': '<i8', 'fortran_order': False, 'shape': (5,), }
Es ist zu erkennen, dass die Datei unleserlich ist, da es sich um Daten im speziellen Binärformat von Numpy handelt.
Wir können die Funktion load() verwenden, um die Daten zu lesen, und sie werden normal angezeigt:
Beispiel
Die Ausgabe ist:
[1 2 3 4 5]
np.savez
Die Funktion numpy.savez() speichert mehrere Arrays in einer Datei mit der Erweiterung .npz.
numpy.savez(file, *args, **kwds)
Parameter description:
- filefile: Die zu speichernde Datei, mit der Erweiterung.npz, wenn der Dateipfad nicht mit der Erweiterung.npzendet, wird die Erweiterung automatisch hinzugefügt.
- argsargs: Die zu speichernden Arrays. Sie können Schlüsselwortargumente verwenden, um die Arrays zu benennen. Als Nicht-Schlüsselwortargumente übergebene Arrays werden automatisch benanntarr_0, arr_1, … 。
- kwdskwds: Benennen Sie die zu speichernden Arrays mithilfe von Schlüsselwortargumenten.
Beispiel
Die Ausgabe ist:
['sin_array', 'arr_0', 'arr_1'] [[1 2 3] [4 5 6]] [0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9] [0. 0.09983342 0.19866933 0.29552021 0.38941834 0.47942554 0.56464247 0.64421769 0.71735609 0.78332691]
savetxt()
Die Funktion savetxt() speichert Daten in einem einfachen Textdateiformat, und die entsprechende Funktion loadtxt() wird verwendet, um die Daten abzurufen.
np.loadtxt(FILENAME, dtype=int, delimiter=' ') np.savetxt(FILENAME, a, fmt="%d", delimiter=",")
Der Parameter delimiter kann verschiedene Trennzeichen, Konverterfunktionen für bestimmte Spalten, die Anzahl der zu überspringenden Zeilen und so weiter angeben.
Beispiel
Die Ausgabe ist:
[1. 2. 3. 4. 5.]
Verwenden des delimiter-Parameters:
Beispiel
Die Ausgabe ist:
[[0. 0. 1. 1. 2.] [2. 3. 3. 4. 4.] [5. 5. 6. 6. 7.] [7. 8. 8. 9. 9.]]Andere Erweiterungen