Скажем, у меня есть массив данных xarray. Одним из измерений является измерение времени:
import numpy as np
import xarray as xr
import pandas as pd
time = pd.date_range('1980-01-01', '2017-12-01', freq='MS')
time = xr.DataArray(time, dims=('time',), coords={'time':time})
da = xr.DataArray(np.random.rand(len(time)), dims=('time',), coords={'time':time})
Теперь, если я хочу только годы с 1990 по 2000 год, то я могу легко это сделать:
da.sel(time=slice('1990', '2000'))
Но что, если я хотите сбросить в эти годы? Мне нужны данные за все годы , за исключением тех.
da.drop_sel(time=slice('1990', '2000'))
не удается с
TypeError: unhashable type: 'slice'
Что происходит? Какой правильный способ сделать это?
В данный момент я создаю новый массив данных:
tdrop = da.time.sel(time=slice('1990', '2000'))
da.drop_sel(time=tdrop)
Но это кажется излишне запутанным.