Vergleichen
NPY vs NPZ
NPY speichert ein Array mit dtype und shape. NPZ bündelt NPY-Mitglieder in ZIP und ermöglicht Zugriff über Arraynamen.
Welches Format sollten Sie wählen?
Wählen Sie NPY für ein Array oder Memory-Mapping numerischer Daten; NPZ für die gemeinsame Übergabe mehrerer Arrays.
Geeignet für NPY
Ein einzelnes NumPy-Array samt Typ und Form binär speichern · Arrays an NumPy-basierte wissenschaftliche und Machine-Learning-Workflows übergeben
- dtype und mehrdimensionale shape ohne Textkonvertierung erhalten
- Unterstützte Arrays ohne object per Memory Mapping teilweise zugreifen
Geeignet für NPZ
Mehrere NumPy-Arrays in einem ZIP-Archiv bündeln · Benannte Arrays zwischen NumPy-basierten wissenschaftlichen Workflows übertragen
- Mehrere Arrays in einer Datei speichern
- ZIP-Einträge je nach Bedarf unkomprimiert oder komprimiert ablegen
Grundlegende Informationen
| Merkmal | NPY | NPZ |
|---|---|---|
| Dateiendung | .npy | .npz |
| MIME-Typ | application/octet-stream | application/zip |
| Häufige Verwendung | Ein einzelnes NumPy-Array samt Typ und Form binär speichern · Arrays an NumPy-basierte wissenschaftliche und Machine-Learning-Workflows übergeben | Mehrere NumPy-Arrays in einem ZIP-Archiv bündeln · Benannte Arrays zwischen NumPy-basierten wissenschaftlichen Workflows übertragen |
| Öffnen | Öffnen Sie die Datei mit NumPy `load` oder einem NPY-kompatiblen Werkzeug und prüfen Sie dtype, shape und Formatversion. Bei großen Arrays muss Memory Mapping zum Datenlayout und Anwendungsfall passen. | Öffnen Sie die Datei mit NumPy `load` oder einem NPZ-kompatiblen Werkzeug, prüfen Sie die Namen und laden Sie benötigte Arrays. Schließen Sie das `NpzFile` danach und prüfen Sie pickle bei unbekannten Dateien mit möglichen object-Arrays. |
| Exportieren oder konvertieren | Speichern Sie mit NumPy `save`. Vergleichen Sie bei der Umwandlung aus Text Datentypen, Byte-Reihenfolge, shape und Umgang mit fehlenden Werten. Wenn object-Arrays vorkommen, klären Sie, ob pickle nötig ist; aktivieren Sie es bei nicht vertrauenswürdigen Dateien nicht leichtfertig. | Speichern Sie mehrere Arrays mit `savez` oder `savez_compressed`. Klären Sie, ob Einträge unkomprimiert oder mit DEFLATE gespeichert werden, und prüfen Sie Namen, dtype und shape. Vergleichen Sie Arrays und Werte nach der Umwandlung. |
Nach Einsatzzweck wählen
dtype und mehrdimensionale shape ohne Textkonvertierung erhalten
Ein einzelnes NumPy-Array samt Typ und Form binär speichern · Arrays an NumPy-basierte wissenschaftliche und Machine-Learning-Workflows übergeben
NPYUnterstützte Arrays ohne object per Memory Mapping teilweise zugreifen
Ein einzelnes NumPy-Array samt Typ und Form binär speichern · Arrays an NumPy-basierte wissenschaftliche und Machine-Learning-Workflows übergeben
NPYMehrere Arrays in einer Datei speichern
Mehrere NumPy-Arrays in einem ZIP-Archiv bündeln · Benannte Arrays zwischen NumPy-basierten wissenschaftlichen Workflows übertragen
NPZZIP-Einträge je nach Bedarf unkomprimiert oder komprimiert ablegen
Mehrere NumPy-Arrays in einem ZIP-Archiv bündeln · Benannte Arrays zwischen NumPy-basierten wissenschaftlichen Workflows übertragen
NPZWichtiger Punkt 1
Die Grundeinheit von NPY ist ein Array.
Unterschiede im DetailWichtiger Punkt 2
NPZ ist ein Archiv mit einem NPY-Mitglied pro Array.
Unterschiede im DetailUnterschiede im Detail
Berücksichtigen Sie Zugriffsmuster und Kompressionskosten, nicht nur die Anzahl. Aktivieren Sie pickle nicht für nicht vertrauenswürdige object-Daten.
- savez schreibt unkomprimierte Archive; savez_compressed verwendet DEFLATE. Die NPZ-Endung zeigt die Kompression nicht an.
- Numerische NPY-Daten lassen sich per Memory-Mapping lesen, object-Arrays nicht. Nehmen Sie dies für NPZ-Mitglieder bei numpy.load nicht gleichermaßen an.
Häufige Fragen
Ist NPZ immer kleiner als NPY?
Nein. Inhalt, Kompression und ZIP-Zusatzdaten beeinflussen die Größe. Messen Sie Größe und Ladezeit mit realen Daten.