如何在选定的维度上对数组进行切片?

How do I slice an array at a chosen dimension?

提问人: 提问时间:4/16/2020 更新时间:7/24/2020 访问量:160

问:

假设我有一个多维 numpy 数组 A。我正在尝试在我选择的任何维度上获得 A 的切片,例如,如果是一个 3D 数组,并且我得到了一些整数和一些维度:Alayerdim

如果 dim = 2,则选择 A[:,:,layer]

如果 dim = 1,则选择 A[:,layer,:]

如果 dim = 0,则选择 A[layer,:,:]

就我而言,A 可能有很多维度可供选择,因此我不想手动编写。什么是简单易读的执行此操作的方法?

numpy 多维数组 切片

评论

0赞 hpaulj 4/16/2020
np.take可能适合您的需求。
0赞 4/16/2020
“像 np.take(arr, indices, axis=3) 这样的调用等价于 arr[:,:,:,indices,...]”哦,这听起来正是我需要的。谢谢!对不起,我不是故意问一个已经有功能的问题。
1赞 Paul Panzer 4/16/2020
请注意,这仅适用于高级索引。它不适用于切片。

答: 暂无答案