[英]Index every n-th element along each dimension of a N-dimensional numpy array
在一個維度上,可以執行以下操作:
np.arange(12)[::3]
獲得:
array([0, 3, 6, 9])
對N維執行相同操作的有效方法是什么?
例如,給定:
np.random.random((10, 15, 20))
如何獲得沿每個維度的每個第三個元素?
對於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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.