Vergleichen
NPZ oder HDF5: Array-Bündel und Teilzugriffe
NPZ bündelt benannte NPY-Arrays in ZIP. HDF5 organisiert Gruppen, Datensätze und Attribute hierarchisch.
Welches Format sollten Sie wählen?
Nutzen Sie NPZ zum Austausch von Arrays mit NumPy; erwägen Sie HDF5 für wiederholte Teilzugriffe oder hierarchische Organisation.
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
Geeignet für HDF5
Große wissenschaftliche und technische Daten hierarchisch speichern · Mehrdimensionale Arrays und zugehörige Metadaten in einem Container halten
- Komplexe Daten mit Gruppen, Datensätzen und Attributen organisieren
- Wissenschaftliche Abläufe mit Teillesezugriff oder Datensatzkompression
Grundlegende Informationen
| Merkmal | NPZ | HDF5 |
|---|---|---|
| Dateiendung | .npz | .h5, .hdf5 |
| MIME-Typ | application/zip | |
| Häufige Verwendung | Mehrere NumPy-Arrays in einem ZIP-Archiv bündeln · Benannte Arrays zwischen NumPy-basierten wissenschaftlichen Workflows übertragen | Große wissenschaftliche und technische Daten hierarchisch speichern · Mehrdimensionale Arrays und zugehörige Metadaten in einem Container halten |
| Öffnen | Ö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. | Verwenden Sie HDF5-fähige Visualisierungs- oder Analysesoftware oder eine Bibliothek. Prüfen Sie Gruppenhierarchie, Formen und Typen der Datensätze, Attribute und Filter. Ziehen Sie die Dokumentation des Erstellers hinzu, da Anwendungen eigene HDF5-Konventionen festlegen können. |
| Exportieren oder konvertieren | 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. | Legen Sie vor einer Umwandlung in CSV, Parquet, FITS oder ein anderes Format fest, wie Hierarchie, Dimensionen und Typen, Attribute, Einheiten und Koordinaten übertragen werden. Nicht alle Strukturen passen ins Zielformat; bewahren Sie das Original und vergleichen Sie die Daten. |
Nach Einsatzzweck wählen
Mehrere 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
NPZKomplexe Daten mit Gruppen, Datensätzen und Attributen organisieren
Große wissenschaftliche und technische Daten hierarchisch speichern · Mehrdimensionale Arrays und zugehörige Metadaten in einem Container halten
HDF5Wissenschaftliche Abläufe mit Teillesezugriff oder Datensatzkompression
Große wissenschaftliche und technische Daten hierarchisch speichern · Mehrdimensionale Arrays und zugehörige Metadaten in einem Container halten
HDF5Wichtiger Punkt 1
NPZ wählt benannte Archivmitglieder aus, jeweils eines pro Array.
Unterschiede im DetailWichtiger Punkt 2
HDF5 unterstützt die Auswahl von Bereichen innerhalb eines Datensatzes.
Unterschiede im DetailUnterschiede im Detail
NPZ lädt Mitglieder bei Bedarf; numpy.load liest keine beliebigen Ausschnitte direkt aus komprimierten Mitgliedern. HDF5 ist nicht immer schneller: Messen Sie mit tatsächlichen Auswahlbereichen und Chunk-Formen.
- savez komprimiert nicht; savez_compressed verwendet DEFLATE. HDF5-Kompression ist optional. Bei Chunk-Datensätzen ist auch für ein einzelnes Element der ganze zugehörige Chunk beteiligt.
- HDF5-Attribute können Einheiten speichern, deren Bedeutung aber vereinbart werden muss. Prüfen Sie beim Umstieg Namen, dtype, shape, Achsenreihenfolge, Werte und benötigte Filter. Aktivieren Sie pickle nicht für object-Arrays aus nicht vertrauenswürdigen NPZ-Dateien.
Häufige Fragen
Bewahrt die Umwandlung von NPZ in HDF5 automatisch die Bedeutung?
Das ist nicht garantiert. Legen Sie Array-Gruppen-Zuordnungen sowie Konventionen für Einheiten und fehlende Werte fest und prüfen Sie die konvertierten Werte.