У меня есть два разных временных ряда того же измерения, что и (время: 3782, широта = 65, долгота = 69).Я хочу вычесть ab, но другая ошибка отображается как:
IndexError: Операция индексирования, которую вы пытаетесь выполнить, недопустима для объекта netCDF4.Variable.Попробуйте сначала загрузить ваши данные в память, вызвав .load ().
Я попытался проверить случайные трехмерные данные, используя numpy, но ошибка не может быть воспроизведена.Данные составляют 122 дня для 31 года (122 * 31 = 3782) каждый.Я что-то упустил?
Вот фрагмент кода, который я использую:
rf=IMD['rf'].sel(time=slice('1975-01-01T00:00:00','2005-12-31T00:00:00'))
pr1=miroc_clm['pr'].sel(time=slice('1975-01-01T00:00:00','2005-12-31T00:00:00'))
pr2=miroc_gcm['pr'].sel(time=slice('1975-01-01T00:00:00','2005-12-31T00:00:00'))
def is_jjas(month):
return (month >= 6) & (month <= 9)
JJAS_rf= rf.sel(time=is_jjas(rf['time.month']))
JJAS_pr1= pr1.sel(time=is_jjas(pr1['time.month']))
JJAS_pr2= pr2.sel(time=is_jjas(pr2['time.month']))
print(JJAS_rf-JJAS_pr1)
Я ценю любое преимущество в этом отношении.