Dask arrays จากชุดข้อมูล HDF5
คุณได้รับมอบหมายให้วิเคราะห์ปริมาณน้ำฝนในยุโรปตลอด 40 ปีที่ผ่านมา ข้อมูลปริมาณน้ำฝนเฉลี่ยรายเดือนในกริดพื้นที่ต่าง ๆ ทั่วยุโรปถูกเตรียมไว้ให้ในรูปแบบ HDF5 เนื่องจากไฟล์นี้มีขนาดค่อนข้างใหญ่ จึงใช้ Dask ในการโหลดและประมวลผล
h5py ถูก import ไว้ให้แล้ว และ dask.array ถูก import เป็น da
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Parallel Programming with Dask in Python
คำแนะนำการฝึกหัด
- เปิดไฟล์
'data/era_eu.hdf5'โดยใช้h5py - โหลดตัวแปร
'/precip'ลงใน Dask array โดยใช้ฟังก์ชันfrom_array()และกำหนด chunks เป็น (12 เดือน, 15 ละติจูด, และ 15 ลองจิจูด) - ใช้การสไลซ์อาร์เรย์เพื่อเลือกทุก ๆ ดัชนีที่ 12 ตามแกนแรก ซึ่งจะเลือกข้อมูลเดือนมกราคมจากทุกปี
- คำนวณค่าเฉลี่ยของ
january_rainfallsตามแกนเวลา (axis0) เพื่อหาค่าเฉลี่ยปริมาณน้ำฝนในเดือนมกราคมทั่วยุโรป
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Open the HDF5 dataset using h5py
hdf5_file = ____.____(____)
# Load the file into a Dask array with a reasonable chunk size
precip = da.____(____, chunks=____)
# Select only the months of January
january_rainfalls = ____[____]
# Calculate the mean rainfall in January for each location
january_mean_rainfall = ____.____(axis=____)
plt.imshow(january_mean_rainfall.compute())
plt.show()