【问题标题】:Create an xarray.DataArray where all the values satisfy a condition创建一个 xarray.DataArray ,其中所有值都满足一个条件
【发布时间】:2019-06-26 04:17:43
【问题描述】:

我有一个一维的 DataArray,每个值对应一个 ID。 我正在尝试以相同格式创建一个新数组,其中包含值和 ID 用于值超出限制的任何情况

我尝试过使用xr.DataArray.where(condition,other),但是对于不满足条件的情况,这会产生一个与“nan”大小相同的数组。

#create mock array
ID = np.arange(10)
values = np.random.uniform(0.5, 20, 10)
xr.DataArray(values, dims='ID', coords={'ID':ID})

xlim = 10

一个示例输出可以是一个包含 5 个元素的数组(所有元素的值都大于 10,我们设置的限制)以及它们在原始数组中的对应 ID。

【问题讨论】:

    标签: python python-xarray


    【解决方案1】:

    你可以直接使用 numty 索引。

    #create mock array
    ID = np.arange(10)
    values = np.random.uniform(0.5, 20, 10)
    arr = xr.DataArray(values, dims='ID', coords={'ID':ID})
    
    xlim = 10
    
    arr[np.where(arr>xlim)]
    
    <xarray.DataArray (ID: 4)> array([18.830967, 14.651416, 17.545492,
    17.627902]) Coordinates:   * ID       (ID) int64 2 7 8 9
    

    【讨论】:

      猜你喜欢
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      相关资源
      最近更新 更多