【发布时间】:2021-09-16 06:56:33
【问题描述】:
我正在尝试按条件过滤多个 3D 数组,并将结果用作scipy.stats.binned_statistic_2d() 或np.histogram2d() 的输入。
这是一个简单的例子:
import numpy as np
import xarray as xr
array = xr.DataArray(np.random.randn(20, 2000, 3000))
stacked = array.stack(z=('dim_0', 'dim_1', 'dim_2'))
res = stacked.where(stacked>0, drop=True)
stack 步骤运行速度很慢:
16.9 s ± 1 s per loop (mean ± std. dev. of 7 runs, 1 loop each)
是否可以更快地获取res 并将dim_0、dim_1 和dim_2 的值也保存为一维变量?
【问题讨论】:
标签: python numpy scipy python-xarray