在一个方面,可以这样做:
np.arange(12)[::3]
获得:
array([0, 3, 6, 9])
为N维做同样的事情的有效方法是什么?
例如,给定:
np.random.random((10, 15, 20))
如何获得每个维度中的每个第三个元素?
答案 0 :(得分:3)
对于3d,你可以这样做:
a = np.random.random((10, 15, 20))
a[::3,::3,::3].shape
# (4, 5, 7)
a.shape
# (10, 15, 20)
对于任意维度,您可以使用slice
:
a[[slice(None,None,3)] * a.ndim].shape
# (4, 5, 7)