【发布时间】:2016-06-06 04:52:13
【问题描述】:
根据Value error in multplying xarray variable with 2D numpy array
import xarray as xr
hndl_tran = xr.open_dataset(path_netcdf, chunks={'time': 10})
flow_data = hndl_tran['val']
new_arr = flow_data * xr.DataArray(vba)
这里是输入数组的形状
flow_data.shape
(1165, 720, 1440)
vba.shape
(720L, 1440L)
这是数组相乘后的形状:
new_arr.shape
(1165, 720, 1440, 720, 1440)
我希望生成的数组具有与 flow_data 相同的形状。我该怎么做?
【问题讨论】:
-
xr.DataArray()可能正在做一些有趣的事情。所以,为了更好地控制事情并确保广播的暗角对齐,我认为你可以这样做flow_data * (xr.DataArray(vba).reshape(720,1440))。 -
感谢@Divakar,我在重塑时收到此错误:
AttributeError: 'DataArray' object has no attribute 'reshape' -
嗯,
np.reshape(xr.DataArray(vba),(720,1440))怎么样? -
嗯,我收到
np.resha[pe...的此错误:*** ValueError: total size of new array must be unchanged
标签: python numpy pandas python-xarray