相关疑难解决方法(0)

在xarray中过滤数据的简明方法

我需要对xarray数组中的值应用一个非常简单的'match statement':

  1. 值> 0时,使2
  2. 值== 0时,设为0
  3. 价值在哪里NaN,制造NaN

这是我目前的解决方案.我正在使用NaNs ,, .fillna和类型强制来代替2d索引.

valid = date_by_items.notnull()
positive = date_by_items > 0
positive = positive * 2
result = positive.fillna(0.).where(valid)
result
Run Code Online (Sandbox Code Playgroud)

这改变了这个:

In [20]: date_by_items = xr.DataArray(np.asarray((list(range(3)) * 10)).reshape(6,5), dims=('date','item'))
    ...: date_by_items
    ...: 
Out[20]: 
<xarray.DataArray (date: 6, item: 5)>
array([[0, 1, 2, 0, 1],
       [2, 0, 1, 2, 0],
       [1, 2, 0, 1, 2],
       [0, 1, 2, 0, 1],
       [2, 0, 1, 2, 0],
       [1, 2, 0, 1, …
Run Code Online (Sandbox Code Playgroud)

python python-xarray

8
推荐指数
2
解决办法
1578
查看次数

标签 统计

python ×1

python-xarray ×1