如何跳过 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,像这样:
我有一个大型多维 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,像这样: