Mảng Dask từ các tập dữ liệu HDF5
Bạn được giao phân tích lượng mưa ở châu Âu trong 40 năm qua. Lượng mưa trung bình theo tháng trên một lưới các vị trí khắp châu Âu đã được cung cấp cho bạn ở định dạng HDF5. Vì tệp này khá lớn, bạn quyết định tải và xử lý nó bằng Dask.
h5py đã được nhập sẵn cho bạn, và dask.array đã được nhập với bí danh da.
Bài tập này là một phần của khóa học
Lập trình song song với Dask trong Python
Hướng dẫn bài tập
- Mở tệp
'data/era_eu.hdf5'bằngh5py. - Tải biến
'/precip'vào một mảng Dask bằng hàmfrom_array(), và đặt các chunk là (12 tháng, 15 vĩ độ, 15 kinh độ). - Dùng cắt mảng để chọn mỗi chỉ mục thứ 12 dọc theo trục đầu tiên - thao tác này chọn dữ liệu tháng 1 của tất cả các năm.
- Lấy trung bình của
january_rainfallstheo trục thời gian (trục0) để tính lượng mưa trung bình vào tháng 1 trên khắp châu Âu.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()