0
我在連續的美國網格數據,我試圖在特定的區域選擇它的一大塊。如何從Python中的另一個2D網格中對2D網格進行子集化?
import numpy as np
from netCDF4 import Dataset
import matplotlib.pyplot as plt
filename = '/Users/me/myfile.nc'
full_data = Dataset(filename,'r')
latitudes = full_data.variables['latitude'][0,:,:]
longitudes = full_data.variables['longitude'][0,:,:]
temperature = full_data.variables['temperature'][0,:,:]
所有這三個變量都是形狀的二維矩陣(337,451)。我正在嘗試執行以下操作以獲取特定區域上的數據的子選擇。我期望所有這三個變量都是二維的,但是他們都返回一個扁平的數組,形狀爲(102,)。我試過另一種方法:
index2 = np.where((latitudes>=44.0)&(latitudes<=45.0)&(longitudes>=-91.0)&(longitudes<=-89.0))
temp = temperatures[index2[0],:]
temp2 = temp[:,index2[1]]
plt.imshow(temp2,origin='lower')
plt.colobar()
但是我的數據看起來相當不正確。是否有更好的方法從更大的網格中獲取2D子集網格?