筛选出所有伪矩阵的最快方法

时间:2018-08-08 04:46:39

标签: python numpy boolean sparse-matrix

我有一个numpy布尔矩阵,其中包含约2,000个切片,其宽度为512x512。

print(bool_matrix.shape) #(512, 512, 2000)

某些切片都是False矩阵,我想将其过滤掉。我已经在下面编写了代码,但是我想知道是否有更快的方法?

%%timeit
_idx = np.any(bool_matrix, axis=(0,1))
result = np.compress(_idx, bool_matrix, axis=2)
print(result.shape) #(512, 512, 457), filter out 1543 all False matrix

281 ms ± 2.95 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

0 个答案:

没有答案