【发布时间】:2020-04-14 04:52:02
【问题描述】:
例如,你有数组
a = np.array([[[ 0, 1, 2],
[ 3, 4, 5]],
[[ 6, 7, 8],
[ 9, 10, 11]]])
我们想要遍历最后一个维度的切片,即 [0,1,2]、[3,4,5]、[6,7,8]、[9,10,11]。有什么方法可以在没有 for 循环的情况下实现这一目标?谢谢!
试过这个但它不起作用,因为 numpy 没有按照我们想要的方式解释元组 - a[(0, 0),:] 与 a[0, 0, :] 不同
[a[i,:] for i in zip(*product(*(range(ii) for ii in a.shape[:-1])))]
更一般地说,最后 k 维有什么办法吗?相当于循环通过a[i,j,k, ...]。
【问题讨论】:
标签: numpy numpy-ndarray