Format Atlas

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

MerkmalNPYNPZ
Dateiendung.npy.npz
MIME-Typapplication/octet-streamapplication/zip
Häufige VerwendungEin einzelnes NumPy-Array samt Typ und Form binär speichern · Arrays an NumPy-basierte wissenschaftliche und Machine-Learning-Workflows übergebenMehrere 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 konvertierenSpeichern 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

NPY

Unterstü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

NPY

Mehrere Arrays in einer Datei speichern

Mehrere NumPy-Arrays in einem ZIP-Archiv bündeln · Benannte Arrays zwischen NumPy-basierten wissenschaftlichen Workflows übertragen

NPZ

ZIP-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

NPZ

Wichtiger Punkt 1

Die Grundeinheit von NPY ist ein Array.

Unterschiede im Detail

Wichtiger Punkt 2

NPZ ist ein Archiv mit einem NPY-Mitglied pro Array.

Unterschiede im Detail

Unterschiede 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.

Mehr erfahren

Quellen und Spezifikationen