微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python XArray索引返回

如何解决Python XArray索引返回

我有一个多维xarray,例如:

testarray = xr.DataArray([[1,-2,3],[4,5,-6]])

,我想获取特定条件的索引,例如。其中testarray小于0。 因此,预期结果应为类似以下的数组:

结果= [[1,2],[0,1]]

或任何其他让我获得这些索引以进行进一步计算的格式。无法想象,xarray中没有针对此类基本问题的选项,但我找不到它。像

testarray.where(testarray<0)

做一些非常可疑的动作东西。数组的用法是一样的,但条件不满足的情况下是nan的?

非常感谢您的帮助:)

解决方法

要获取索引,可以使用np.argwhere

In [3]: da= xr.DataArray([[1,-2,3],[4,5,-6]])

In [4]: da
Out[4]:
<xarray.DataArray (dim_0: 2,dim_1: 3)>
array([[ 1,[ 4,-6]])
Dimensions without coordinates: dim_0,dim_1


In [14]: da.where(da<0,0)
Out[14]:
<xarray.DataArray (dim_0: 2,dim_1: 3)>
array([[ 0,0],[ 0,dim_1

# Note you'd need to handle the case of a 0 value here

In [13]: np.argwhere(da.where(da<0,0).values)
Out[13]:
array([[0,1],[1,2]])

我同意这对本机存在于xarray中将是有用的功能;我目前尚不确定在本地执行此操作的最佳方法。开放思想!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。