مقارنة
NPZ أم HDF5: تجميع المصفوفات والقراءة الجزئية
يجمع NPZ مصفوفات NPY مسماة داخل ZIP. وينظم HDF5 المجموعات ومجموعات البيانات والسمات ضمن بنية هرمية.
أي تنسيق يجب أن تختار؟
استخدم NPZ لتبادل المصفوفات مع NumPy؛ وفكّر في HDF5 للقراءة الجزئية المتكررة أو التنظيم الهرمي.
مناسب لـ NPZ
جمع عدة مصفوفات NumPy في أرشيف ZIP واحد · تمرير مصفوفات مسماة بين تدفقات الحوسبة العلمية المبنية على NumPy
- حفظ مصفوفات متعددة في ملف واحد
- اختيار أعضاء ZIP مضغوطة أو غير مضغوطة حسب الحاجة
مناسب لـ HDF5
تخزين بيانات علمية وتقنية كبيرة ببنية هرمية · حفظ مصفوفات متعددة الأبعاد وبياناتها الوصفية في حاوية واحدة
- تنظيم البيانات المعقدة باستخدام المجموعات ومجموعات البيانات والسمات
- سير عمل علمي يحتاج إلى قراءة جزئية أو ضغط لكل مجموعة بيانات
المعلومات الأساسية
| البند | NPZ | HDF5 |
|---|---|---|
| الامتداد | .npz | .h5, .hdf5 |
| نوع MIME | application/zip | |
| الاستخدامات الشائعة | جمع عدة مصفوفات NumPy في أرشيف ZIP واحد · تمرير مصفوفات مسماة بين تدفقات الحوسبة العلمية المبنية على NumPy | تخزين بيانات علمية وتقنية كبيرة ببنية هرمية · حفظ مصفوفات متعددة الأبعاد وبياناتها الوصفية في حاوية واحدة |
| طريقة الفتح | افتحه باستخدام NumPy `load` أو أداة تدعم NPZ، وافحص أسماء المصفوفات ثم حمّل المطلوب. أغلق `NpzFile` بعد الاستخدام وافحص إعدادات pickle للملفات المجهولة التي قد تحتوي على مصفوفات object. | استخدم برنامجًا أو مكتبة تدعم HDF5 للتحليل أو العرض. افحص التسلسل الهرمي للمجموعات وأشكال وأنواع مجموعات البيانات والسمات والمرشحات. راجع وثائق المنشئ لأن التطبيقات قد تستخدم قواعد خاصة بها. |
| التصدير أو التحويل | احفظ عدة مصفوفات باستخدام `savez` أو `savez_compressed`. تحقق هل الأعضاء غير مضغوطة أم مضغوطة بـ DEFLATE، وراجع الأسماء وdtype وshape مع الجهة المستقبلة. قارن المصفوفات والقيم بعد التحويل. | قبل التحويل إلى CSV أو Parquet أو FITS أو غيره، حدد كيفية نقل البنية والأبعاد والأنواع والسمات والوحدات والإحداثيات. قد لا يمثل التنسيق الهدف بعض البنى أو البيانات الوصفية؛ احتفظ بالأصل وقارن القيم والبيانات. |
الاختيار حسب الاستخدام
حفظ مصفوفات متعددة في ملف واحد
جمع عدة مصفوفات NumPy في أرشيف ZIP واحد · تمرير مصفوفات مسماة بين تدفقات الحوسبة العلمية المبنية على NumPy
NPZاختيار أعضاء ZIP مضغوطة أو غير مضغوطة حسب الحاجة
جمع عدة مصفوفات NumPy في أرشيف ZIP واحد · تمرير مصفوفات مسماة بين تدفقات الحوسبة العلمية المبنية على NumPy
NPZتنظيم البيانات المعقدة باستخدام المجموعات ومجموعات البيانات والسمات
تخزين بيانات علمية وتقنية كبيرة ببنية هرمية · حفظ مصفوفات متعددة الأبعاد وبياناتها الوصفية في حاوية واحدة
HDF5سير عمل علمي يحتاج إلى قراءة جزئية أو ضغط لكل مجموعة بيانات
تخزين بيانات علمية وتقنية كبيرة ببنية هرمية · حفظ مصفوفات متعددة الأبعاد وبياناتها الوصفية في حاوية واحدة
HDF5نقطة أساسية 1
يختار NPZ عناصر الأرشيف بالاسم، ويمثل كل عنصر مصفوفة.
مزيد من التفاصيل حول الاختلافاتنقطة أساسية 2
يدعم HDF5 اختيار نطاقات داخل مجموعة البيانات.
مزيد من التفاصيل حول الاختلافاتمزيد من التفاصيل حول الاختلافات
يحمّل NPZ العناصر عند الحاجة؛ ولا يقرأ numpy.load العادي مقاطع اعتباطية مباشرة داخل العناصر المضغوطة. ليس HDF5 أسرع دائمًا: اختبر نطاقات القراءة وأشكال الكتل الفعلية.
- لا يضغط savez البيانات، بينما يستخدم savez_compressed خوارزمية DEFLATE. ضغط HDF5 اختياري. في البيانات المقسمة إلى كتل، تتضمن معالجة عنصر واحد الكتلة التي تحتويه كاملة.
- يمكن لسمات HDF5 تسجيل الوحدات، لكن معناها يحتاج إلى اتفاق. عند النقل، تحقق من الأسماء وdtype وshape وترتيب المحاور والقيم والمرشحات المطلوبة. لا تفعّل pickle لمصفوفات object في ملفات NPZ غير الموثوقة.
الأسئلة الشائعة
هل يحفظ تحويل NPZ إلى HDF5 معنى البيانات تلقائيًا؟
ليس ذلك مضمونًا. حدد ربط المصفوفات بالمجموعات وقواعد الوحدات والقيم المفقودة، ثم تحقق من القيم المحوّلة.