将 DataArray 转换为 numpy 数组
Converting DataArray into numpy array
我有一个要转换为 numpy 数组的 DataArray。作为参考,它是一个包含(时间、纬度、经度)的三维网格化数据集。我试过使用 xarray.DataArray.values(),但收到错误:TypeError: 'property' object is not callable。
我想将它转换成一个 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()
我有一个要转换为 numpy 数组的 DataArray。作为参考,它是一个包含(时间、纬度、经度)的三维网格化数据集。我试过使用 xarray.DataArray.values(),但收到错误:TypeError: 'property' object is not callable。
我想将它转换成一个 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()