创建一个xarray.DataArray,其中所有值都满足条件

时间:2019-06-23 15:50:03

标签: python python-xarray

我有一个1维的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。

1 个答案:

答案 0 :(得分:0)

您可以只使用直接的脾气索引。

#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