В xarray, почему логическое индексирование использует различный синтаксис между DataArray
и Dataset
?
ds = xr.Dataset(dict(arr=(['time', 'space'], np.random.random((5,5)))),
dict(time=[1,2,3,4,5], space=[2,3,4,5,6]))
selection = ds.time % 2 == 0
Здесь selection
- это логический массив с координатой time
. Почему ds[selection]
терпит неудачу (с KeyError
)?
Обратите внимание, что ds.arr[selection]
работает (принимая подмножество DataArray
, где координата time
четна). Кроме того, ds.sel(time=selection)
работает, но не является ли это избыточным или fr agile (ожидая, что одна и та же координата будет названа как в метаданных selection
DataArray
, так и в аргументе ключевого слова .sel
)? Что если я хочу использовать многомерный логический массив?