Numpy 在以数组形式给出的索引处获取值
Numpy get values at indices given in array form
我想获取 my_array
的 indices
处的值。
indices = np.array([[[0],
[1],
[0]]])
my_array = np.array([[[1.1587323 , 1.75406635],
[1.05464125, 1.29215026],
[0.9784655 , 1.16957462]]])
我应该得到以下输出:
output: array([[[1.1587323], [1.29215026], [0.9784655]]])
没有 for 循环或列表理解是否可能?
您可以使用 np.take_along_axis
:
np.take_along_axis(my_array, indices, axis=-1)
array([[[1.1587323 ],
[1.29215026],
[0.9784655 ]]])
我想获取 my_array
的 indices
处的值。
indices = np.array([[[0],
[1],
[0]]])
my_array = np.array([[[1.1587323 , 1.75406635],
[1.05464125, 1.29215026],
[0.9784655 , 1.16957462]]])
我应该得到以下输出:
output: array([[[1.1587323], [1.29215026], [0.9784655]]])
没有 for 循环或列表理解是否可能?
您可以使用 np.take_along_axis
:
np.take_along_axis(my_array, indices, axis=-1)
array([[[1.1587323 ],
[1.29215026],
[0.9784655 ]]])