如何跳过 xarray argmax() 函数中的 nan 切片?

How to skip nan slices in xarray argmax() function?

我有一个大型多维 xarray 数据数组。我正在尝试将 xarray.argmax() 应用于每一列,但由于某些“切片”全是 NaN,所以我无法做到。

这是我的问题的一个更小的、可重现的版本:

import xarray
da = xarray.DataArray(np.array([[0,2,3],[np.nan,np.nan,np.nan],[1,5,3]]))
da.argmax(axis =1)

我收到错误:ValueError: All-NaN slice encountered

我只想完全忽略 All-NaN 切片,这样这个例子就会输出 [2,1]。任何帮助将不胜感激。

你应该事先删除 nans,像这样: