我可以让nan乘0等于0吗?如何屏蔽 DataArray?

问题描述 投票:0回答:1

我有一个 xarray.DataArray,我们称之为

height
,我正在尝试减少它以仅表示所需的区域。为此,我有第二个 DataArray,它在我的区域之外为零,而在其内部的值最大为 1,因此当我将两个 DataArray 相乘时,除了所需的区域之外,所有值都为零。

但是,我的

height
数据并不完美,并且 DataArray 中有一些 nan 值。我想保留我区域内的那些 nan 值,但我不关心区域外的那些值。我想将 DataArray 相乘并为每个 nan*0 操作得到一个零,但我目前得到一个 nan。有没有一种方法可以从中得到零,或者有没有更好的方法可以使我的区域之外的每个元素都为零?

提前谢谢您!

python numpy mask python-xarray
1个回答
0
投票

我采用了以下解决方案

height=height.fillna(-2)
height=height.where(height<-1)

因为我的身高数据数组上的值始终为正。

© www.soinside.com 2019 - 2024. All rights reserved.