【发布时间】:2019-10-07 18:13:01
【问题描述】:
给定一个形状为 (N_1...N_k) 的 numpy 数组 x,其中 k 是任意的,以及 2 个数组:
start_indices=[a_1,...,a_k], end_indices=[b_1,...b_k], where `0<=a_i<b_i<=N_i`.
我想按如下方式对 x 进行切片:x[a_1:b_1,...,a_k:b_k]。
让我们说:
x is of shape `(1000, 1000, 1000)`
start_indices=[450,0,400]
end_indices=[550,1000,600].
我希望输出等于x[450:550,0:1000,400:600]。
例如我试图定义:
slice_arrays = (np.arange(start_indices[i], end_indices[i]) for i in range(k))
并使用
x[slice_arrays]
但是没有用。
【问题讨论】:
-
arange创建数组,以不同的方式索引。
标签: python numpy indexing numpy-ndarray