将 xarray 变量与 2D numpy 数组相乘时的值错误

Value error in multiplying xarray variable with 2D numpy array

import xarray as xr
xr.open_dataset(path_netcdf, chunks={'time': 10})
flow_data = hndl_tran['val']
new_arr = flow_data * vba

我收到这个错误:

*** ValueError: total size of new array must be unchanged

下面是 2 个数组的形状:

flow_data.shape
(1165, 720, 1440)

vba.shape
(720L, 1440L)

如何解决这个错误?

在你做乘法之前把你的 numpy 变成一个 xarray 对象:

flow_data = xr.DataArray(hndl_tran['val'])

反之亦然

flow_data = np.array(flow_data)

基于@maxymoo 的回答,您希望转换为 DataArray,但也提供 dims,因此与其他数组的操作将有效 flow_data = xr.DataArray(hndl_tran['val'], dims=['date', 'id']) , 将日期和 ID 替换为适当的名称