Bandingkan
NPZ atau HDF5: kumpulan array dan pembacaan sebagian
NPZ menggabungkan array NPY bernama dalam ZIP. HDF5 mengatur grup, dataset, dan atribut secara hierarkis.
Format mana yang sebaiknya dipilih?
Gunakan NPZ untuk bertukar array dengan NumPy; pertimbangkan HDF5 untuk pembacaan sebagian berulang atau pengaturan hierarkis.
Cocok untuk NPZ
Menggabungkan beberapa array NumPy dalam satu arsip ZIP · Mengirim array bernama di antara alur kerja ilmiah berbasis NumPy
- Menyimpan beberapa array dalam satu berkas
- Memilih entri ZIP terkompresi atau tidak sesuai kebutuhan
Cocok untuk HDF5
Menyimpan data ilmiah dan teknis berukuran besar secara hierarkis · Menaruh larik multidimensi dan metadata terkait dalam satu kontainer
- Mengatur data kompleks dengan grup, dataset, dan atribut
- Alur kerja ilmiah yang memerlukan akses parsial atau kompresi per dataset
Informasi dasar
| Item | NPZ | HDF5 |
|---|---|---|
| Ekstensi | .npz | .h5, .hdf5 |
| Tipe MIME | application/zip | |
| Penggunaan umum | Menggabungkan beberapa array NumPy dalam satu arsip ZIP · Mengirim array bernama di antara alur kerja ilmiah berbasis NumPy | Menyimpan data ilmiah dan teknis berukuran besar secara hierarkis · Menaruh larik multidimensi dan metadata terkait dalam satu kontainer |
| Cara membuka | Buka dengan NumPy `load` atau alat NPZ kompatibel, periksa nama array, lalu muat yang diperlukan. Tutup `NpzFile` setelah selesai dan periksa pengaturan pickle untuk berkas asing yang mungkin berisi array object. | Gunakan perangkat lunak visualisasi atau analisis maupun pustaka yang mendukung HDF5. Periksa hierarki grup, bentuk dan tipe dataset, atribut, serta filter. Baca dokumentasi pembuat karena aplikasi dapat memiliki konvensi HDF5 sendiri. |
| Ekspor atau konversi | Simpan beberapa array dengan `savez` atau `savez_compressed`. Pastikan entri tanpa kompresi atau memakai DEFLATE, lalu cocokkan nama, dtype, dan shape dengan penerima. Bandingkan array dan nilainya setelah konversi. | Sebelum mengonversi ke CSV, Parquet, FITS, atau format lain, tentukan pemetaan hierarki, dimensi dan tipe larik, atribut, satuan, serta koordinat. Format tujuan mungkin tidak dapat memuat semua struktur; simpan berkas asli dan bandingkan datanya. |
Pilih menurut penggunaan
Menyimpan beberapa array dalam satu berkas
Menggabungkan beberapa array NumPy dalam satu arsip ZIP · Mengirim array bernama di antara alur kerja ilmiah berbasis NumPy
NPZMemilih entri ZIP terkompresi atau tidak sesuai kebutuhan
Menggabungkan beberapa array NumPy dalam satu arsip ZIP · Mengirim array bernama di antara alur kerja ilmiah berbasis NumPy
NPZMengatur data kompleks dengan grup, dataset, dan atribut
Menyimpan data ilmiah dan teknis berukuran besar secara hierarkis · Menaruh larik multidimensi dan metadata terkait dalam satu kontainer
HDF5Alur kerja ilmiah yang memerlukan akses parsial atau kompresi per dataset
Menyimpan data ilmiah dan teknis berukuran besar secara hierarkis · Menaruh larik multidimensi dan metadata terkait dalam satu kontainer
HDF5Poin utama 1
NPZ memilih anggota arsip berdasarkan nama, masing-masing mewakili satu array.
Perbedaan lebih lanjutPoin utama 2
HDF5 mendukung pemilihan bagian di dalam dataset.
Perbedaan lebih lanjutPerbedaan lebih lanjut
NPZ memuat anggota saat diperlukan; numpy.load biasa tidak langsung membaca irisan sembarang di dalam anggota terkompresi. HDF5 tidak selalu lebih cepat: ukur dengan pilihan bagian dan bentuk chunk yang sebenarnya.
- savez tidak mengompresi; savez_compressed memakai DEFLATE. Kompresi HDF5 bersifat opsional. Pada dataset ber-chunk, satu elemen yang diminta pun melibatkan seluruh chunk terkait.
- Atribut HDF5 dapat menyimpan satuan, tetapi maknanya perlu disepakati. Saat migrasi, periksa nama, dtype, shape, urutan sumbu, nilai, dan filter yang diperlukan. Jangan aktifkan pickle untuk array object dari NPZ yang tidak tepercaya.
Pertanyaan umum
Apakah konversi NPZ ke HDF5 otomatis mempertahankan makna?
Tidak dijamin. Tetapkan pemetaan array ke grup serta aturan satuan dan nilai hilang, lalu periksa nilai hasil konversi.