Python 使用另一个数组和索引数组创建numpy数组

Python 使用另一个数组和索引数组创建numpy数组,python,arrays,numpy,vectorization,Python,Arrays,Numpy,Vectorization,我有一个形状为(m,n)的数组y,还有一个形状为(m,n,k)的数组索引。假设我要执行以下操作(在Python中): 有没有一种方法可以简单地使用NumPy而不需要对循环使用来实现这一点?对矢量化赋值使用NumPy- x = y[indices, np.arange(n)[:,None]] 为什么不想使用for循环?您可以使用用于循环的生成器,但如果您正在寻找的话,它会更高效。我只是想让自己更熟悉一下NumPy。我当然可以使用for循环,我只是想知道是否有一种简单的方法可以使用NumPy的函数

我有一个形状为
(m,n)
的数组
y
,还有一个形状为
(m,n,k)
的数组
索引。假设我要执行以下操作(在Python中):

有没有一种方法可以简单地使用NumPy而不需要对循环使用
来实现这一点?

对矢量化赋值使用NumPy-

x = y[indices, np.arange(n)[:,None]]

为什么不想使用for循环?您可以使用用于循环的生成器,但如果您正在寻找的话,它会更高效。我只是想让自己更熟悉一下NumPy。我当然可以使用for循环,我只是想知道是否有一种简单的方法可以使用NumPy的函数来编写它,而我并不知道。
x = y[indices, np.arange(n)[:,None]]