Проблема в вычитании временных рядов для наборов данных с сеткой: xarray - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть два разных временных ряда того же измерения, что и (время: 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)

Я ценю любое преимущество в этом отношении.

...