如何将数组中的零转换为Nan?

LEO*_*LEO 4 python arrays indexing numpy python-xarray

在此输入图像描述

我使用了temp[temp==0] = np.nan,但出现了这个错误:

IndexError:不支持二维布尔索引。

DSM*_*DSM 7

我会使用where, 来避免必须下降到 numpy:

In [35]: d
Out[35]: 
<xarray.DataArray (dim_0: 2, dim_1: 3)>
array([[0, 1, 2],
       [3, 4, 5]])
Dimensions without coordinates: dim_0, dim_1

In [36]: d.where(d != 0)
Out[36]: 
<xarray.DataArray (dim_0: 2, dim_1: 3)>
array([[nan,  1.,  2.],
       [ 3.,  4.,  5.]])
Dimensions without coordinates: dim_0, dim_1
Run Code Online (Sandbox Code Playgroud)

如有必要,它将自动移动到浮动。