Как я могу отфильтровать переменные netCDF с определенными условиями c в Python? - PullRequest
0 голосов
/ 08 мая 2020

Я читаю файл netCDF и хочу сохранить данные из других переменных в зависимости от условия фильтрации (vw c <5), где vw c - переменная. </p>

Мои ошибки включают AttributeError: NetCDF: Attribute not found и AttributeError: 'numpy .ndarray' объект не имеет атрибута 'where', так как я пытался использовать функцию where, но мог использовать неправильный синтаксис.

# read in netCDF file
f = nc4.Dataset(fn[0], 'r')

# read in group from file
sm_am = f.groups['Retrieval_Data_AM']

# extract variables
vwc = np.asarray(sm_am.variables['water_content'][:,:])
any_variable = np.asarray(sm_am.variables['generic_variables'][:,:])

Затем я хочу извлечь другие переменные только тогда, когда vw c <5. </p>

1 Ответ

0 голосов
/ 10 мая 2020

Это работает для фильтрации моих данных.

x = vwc > 5.0 # Boolean condition
new_var = old_var.copy() # copying old data as new variable
new_var[x] = np.nan # replace elements that meet the condition with NaN
...