xarray предоставляет различные способы индексирования и выбора данных . Вы можете попробовать индексирование с именами измерений , например ::
# select using positional & boolean indices
return data[{
'perturbationNumber': ensemble_member,
'validityDateTime': (data['age'] == lead_time)}]
или, если lead_time
на самом деле позиционный индекс, просто
# select using positional indices
return data[{
'perturbationNumber': ensemble_member,
'validityDateTime': lead_time}]
Если вы хотите указать индекс метки , а не их позиции, вы можете просто использовать методы .sel
или .loc
:
# select using labels
return data.sel(
perturbationNumber=ensemble_member,
validityDateTime=lead_time)
или
# select using labels and boolean indices
return data.loc[{
'perturbationNumber': ensemble_member,
'validityDateTime': (data['age'] == lead_time)}]
Вызов da.values
- это шаг, который возвращает базовый конец массива данных xarray. Нет причин, по которым ваш код не должен работать с указанными вами индексами, индексирующими фактический xarray DataArray (без .values
).