У меня есть набор данных, которые я вставляю в набор данных xarray
. Ниже у набора данных есть только один DataArray, но это может быть больше в будущем. Некоторые размеры набора данных аннотированы, и я вставил их как координаты вдоль одной или нескольких осей в набор данных. Теперь я хотел бы получить набор данных, для которого координата annot1 = '1'
.
Я пробовал несколько разных словарей с помощью методов ds.sel()
, но это не похоже на решение. Как бы я проиндексировал приведенный ниже набор данных таким образом, чтобы получать только те данные, для которых annot1 = '1'
?
import xarray as xr
import numpy as
coords = {
'x':['a','b','c','d'],
'y':['A','B','C','D'],
'z':['d_000','d_001','d_010','d_011','d_100','d_101'],
'annot1': ('z',['0','1','0','1','0','1']),
'annot2': ('z',['0','0','1','1','0','0']),
'annot3': ('z',['0','0','0','0','1','1']),
'intens':(['x','y'], np.arange(4**2).reshape((4,4))),
}
ds = xr.Dataset(
data_vars={
'data': (['x','y','z'], np.random.randn(4,4,6))
},
coords=coords,
)
ds.sel(annot1 = '1') # How do i select only the data where annot1 is '1'?