Преобразование DataArray в массив NumPy - PullRequest
0 голосов
/ 13 марта 2019

У меня есть DataArray, который я хочу преобразовать в массив numpy.Для справки это трехмерный сеточный набор данных, содержащий (время, широту, долготу).Я пытался использовать xarray.DataArray.values ​​(), но получаю ошибку: TypeError: объект 'property' не вызывается.

Я хочу преобразовать его в пустой массив, поскольку я использую функцию, которая использует возможности изменения формы и не будет работать должным образом с DataArray.Я попытался просто преобразовать его в массив с помощью np.array (), но он конвертирует каждое значение в NaN.

datatlt=xr.open_dataset("/nfs/home11/staff/lzhou/Public/Satellite_data/RSS_Tb_Anom_Maps_ch_TLT_V4_0.nc", decode_times=False)

tlt=datatlt['brightness_temperature'].sel(months=slice(121,492))
tlt2=np.ma.masked_invalid(tlt)

tlt2=xr.DataArray.values(tlt2)

1 Ответ

1 голос
/ 13 марта 2019

DataArray.values является свойством .Свойства не могут быть вызваны.Вместо этого вы просто получаете доступ к массиву numpy, как если бы он был атрибутом DataArray.

tlt2 = tlt.values

Если вы хотите замаскированный массив, вам нужно вызвать метод to_masked_array :

tlt2 = tlt.to_masked_array()
...