Доступ к значению переменной netCDF с помощью xarray
hndl_nc['name_variable'][:, :, :, var]
Я открываю файл netCDF с помощью xarray и хочу получить доступ к слою, как указано выше. Форма файла netCDF: (25 * 360 * 720 * 5)
,
Есть ли способ переписать hndl_nc['name_variable'][:, :, :, var]
так что мне не нужно указывать :, :, :, var
? Я хочу сделать доступ к переменной независимым от структуры netCDF, если это возможно.
Исходя из этого ответа, я также хочу, чтобы soln работал в случае hndl_nc['name_variable'][:, :, :, var]
2 ответа
Учитывая, что вы используете xarray ( xarray), я предполагаю, что вы делаете что-то вроде следующего:
import xarray as xr
ds = xr.open_dataset(path_file)
У вас есть несколько вариантов в соответствии с документацией ( http://xarray.pydata.org/en/stable/indexing.html):
- Поиск по имени, Поиск по индексу по целому числу
- Поиск по имени, Поиск по индексу по метке
Поиск по имени, Поиск по индексу по целому числу
Индексировать с помощью целого числа вы можете
ds['new_var'] = ds.isel(var=0)
или же
ds['new_var'] = ds[dict(var=0)]
Я предполагаю, что одно из измерений называется var
, Ради простоты я просто выбрал 1-й элемент в var
так что подстраивайтесь под свои нужды.
Вы можете выбрать значение или выбрать фрагмент для var
, Пожалуйста, смотрите больше в документации, которую я связал выше.
Поиск по имени, Поиск по индексу по метке
Чтобы заглянуть внутрь одного из измерений с помощью метки, можно сделать:
ds['new_var'] = ds.sel(var='IA')
или же
ds['new_var'] = ds.loc[dict(var='IA')]
Я не уверен, что это подходит для вашего случая или это то, что вы ищете, так как я не очень хорошо понял ваш случай.
Многоточие ...
должно сработать:
hndl_nc['name_variable'][..., var]