【发布时间】:2019-04-02 04:42:08
【问题描述】:
我有一个 3 维 xarray DataArray,其中两个维度表示 x-y 网格,第三个维度表示彼此“堆叠”的网格层数。空的 DataArray 如下所示:
import xarray as xr
import numpy as np
data = np.zeros(shape=(layers,y,x))
dims=['layer','y_Axis', 'x_Axsis']
dataArray = xr.DataArray(data,dims=dims)
在一个例程中,我用 -1 和 1 之间的值逐层填充网格。
我现在的任务是将所有图层堆叠在一起,选择所有网格组合中的最高值。因此,例如当 5 层相互比较时,网格中的最高元素将保存在 2d numpy 数组中。
我可以通过循环遍历每一层来解决这个问题,将当前层的网格值与创建的 2d max_val_grid 进行比较,从而过滤第三维。然而,这听起来非常低效。
你们有没有人知道如何使用内部 xarray 或 numpy 函数来解决这个问题而无需循环?
非常感谢!
【问题讨论】:
标签: python max python-xarray