【问题标题】:find xarray indices where conditions are satisfied查找满足条件的 xarray 索引
【发布时间】:2020-04-08 02:14:19
【问题描述】:

我想获取满足某些条件的 xarray 数据数组的索引。在相关线程(here) 中提供的关于如何找到最大值位置的答案对我也不起作用。就我而言,我也想找出其他类型条件的位置,而不仅仅是最大值。这是我尝试过的:

h=xr.DataArray(np.random.randn(3,4))
h.where(h==h.max(),drop=True).squeeze()

# This is the output I got:
<xarray.DataArray ()>
array(1.66065694)

这不会返回我链接到的示例中所示的位置,即使我正在执行相同的命令。不知道为什么。

【问题讨论】:

    标签: python python-xarray


    【解决方案1】:

    我更新了链接示例以更清楚地显示索引。因为 xarray 不再添加默认索引,所以前面的示例找到最大位置但不显示索引。复制如下:

    In [17]: da = xr.DataArray(
                 np.random.rand(2,3), 
                 dims=list('ab'), 
                 coords=dict(a=list('xy'), b=list('ijk'))
             )
    
    In [18]: da.where(da==da.max(), drop=True).squeeze()
    Out[18]:
    <xarray.DataArray ()>
    array(0.96213673)
    Coordinates:
        a        <U1 'x'
        b        <U1 'j'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-07
      • 2013-11-15
      • 2018-05-26
      • 2019-11-27
      • 2015-04-30
      • 2019-01-22
      • 2021-02-01
      • 2013-10-19
      相关资源
      最近更新 更多