ฉันมีรหัส Python ที่เอาต์พุตเป็นเมทริกซ์ขนาดซึ่งรายการเป็นประเภทfloat
ทั้งหมด ถ้าฉันบันทึกด้วยนามสกุล.dat
ไฟล์จะมีขนาด 500 MB ฉันอ่านพบว่าการใช้h5py
ลดขนาดไฟล์ลงอย่างมาก ดังนั้นขอบอกว่าผมมีอาร์เรย์ numpy 2D A
ชื่อ ฉันจะบันทึกเป็นไฟล์ h5py ได้อย่างไร นอกจากนี้ฉันจะอ่านไฟล์เดียวกันและวางเป็นอาร์เรย์จำนวนนับในรหัสอื่นได้อย่างไรเนื่องจากฉันต้องจัดการกับอาร์เรย์
np.savetxt("output.dat",A,'%10.8e')
np.save('output.dat', A)
ซึ่งจะบันทึกในรูปแบบไบนารี (เร็วกว่ามากใช้พื้นที่น้อยลงมาก)
A = np.loadtxt('output.dat',unpack=True)
h5py
ไม่สร้างไฟล์ที่มีขนาดเล็กกว่าที่np.save
ต้องการ? เป็นh5py
เร็วกว่าnp.save
สำหรับอาร์เรย์ของขนาดที่กำหนดในคำถาม?
.dat
ส่วนขยายได้อย่างไร?