将DataArray转换为numpy数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将DataArray转换为numpy数组相关的知识,希望对你有一定的参考价值。

我有一个DataArray,我想转换为一个numpy数组。作为参考,它是包含(时间,纬度,经度)的三维网格化数据集。我尝试过使用xarray.DataArray.values(),但收到错误:TypeError:'property'对象不可调用。

我想将它转换为一个numpy数组,因为我正在使用一个利用重塑功能的函数,并且无法与DataArray一起正常工作。我尝试使用np.array()简单地将其转换为numpy数组,但它将每个值转换为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)
答案

DataArray.values是一个property。属性不可调用。相反,您只需访问numpy数组,就好像它是DataArray的属性一样。

tlt2 = tlt.values

如果你想要一个蒙面数组,你需要调用to_masked_array method

tlt2 = tlt.to_masked_array()

以上是关于将DataArray转换为numpy数组的主要内容,如果未能解决你的问题,请参考以下文章

将两个numpy数组转换为数据框

将numpy数组转换为rgb图像

将 C/C++ 向量快速转换为 Numpy 数组

将 byte[] 转换为原始二维数组

如何将 Numpy 数组转换为 Panda DataFrame

将数据从CSV转换为numpy数组时出错