【问题标题】:Numpy get values at indices given in array formNumpy 在以数组形式给出的索引处获取值
【发布时间】:2020-09-30 12:02:52
【问题描述】:

我想获取indicesmy_array 的值。

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 循环或列表推导?

【问题讨论】:

    标签: python numpy numpy-ndarray numpy-slicing


    【解决方案1】:

    你可以使用np.take_along_axis:

    np.take_along_axis(my_array, indices, axis=-1)
    array([[[1.1587323 ],
            [1.29215026],
            [0.9784655 ]]])
    

    【讨论】:

      猜你喜欢
      • 2018-10-22
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 2018-11-21
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多