Ich habe Daten über die zusammenhängenden Vereinigten Staaten gerastert und ich versuche, einen Teil davon über einen bestimmten Bereich auszuwählen.Wie unterteile ich ein 2D-Gitter aus einem anderen 2D-Gitter in Python?
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,:,:]
Alle drei Variablen sind 2-dimensionale Matrizen der Form (337,451). Ich versuche Folgendes zu tun, um eine Unterselektion der Daten über eine bestimmte Region zu erhalten.
index = (latitudes>=44.0)&(latitudes<=45.0)&(longitudes>=-91.0)&(longitudes<=-89.0)
temp_subset = temperature[index]
lat_subset = latitudes[index]
lon_subset = longitudes[index]
würde ich alle drei dieser Variablen erwarten sein 2-dimensional, sondern sie alle zurück eine abgeflachte Anordnung mit einer Form (102,). Ich habe einen anderen Ansatz versucht:
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()
Aber meine Daten sieht ziemlich falsch aus. Gibt es eine bessere Möglichkeit, ein 2D-Teilgitter aus einem größeren Gitter zu erhalten?