我一直试图将^{cd1>}应用到xr.Dataset(Xaray),但继续提出错误。对于三维数据集,我尝试应用于axis=2。语法不太清楚,我可能误解了documentation,但我尝试过:
ds.apply(np.nansum,axis=2)` and `ds.apply(lambda x: np.nansum(x,axis=2))
并获得相同的错误:
cannot set variable 'var' with 2-dimensional data without explicit dimension names. Pass a tuple of (dims, data) instead.
我猜这意味着它不知道返回到新数据集对象的维度名称是什么?有什么办法解决这个问题吗?
还有谁知道为什么和什么时候xarray可以实现^{cd2>}? 谢谢
您在这里遇到的问题是},这就是传递给
nansum
返回一个numpyndarray
,而不是{apply
的函数应该返回的内容。在对于
nansum
,您应该只使用xarray.Dataset.sum
,如果您的数据是float,它将默认跳过nan。在Jeremy是正确的,内置的
sum()
方法在默认情况下已经跳过了NaN。但是如果您想提供一个定制的聚合函数,可以使用reduce
,例如ds.reduce(np.nansum, axis=2)
。在相关问题 更多 >
编程相关推荐