【发布时间】:2017-06-07 01:56:27
【问题描述】:
我正在尝试查找 3D ndarray 沿特定轴 (0) 的最大值的索引,然后使用这些索引切出这些值(以及第二个并行数组中的相应值)。例如,
> a = np.random.randint(10, 100, 24).reshape(2, 3, 4)
> print(a)
array([[[94, 22, 96, 44],
[11, 85, 39, 85],
[58, 43, 48, 84]],
[[84, 58, 51, 30],
[74, 89, 90, 11],
[90, 54, 94, 20]]])
现在,我对在第零轴上给出最大值的索引感兴趣,即
> a[inds]
array([[94, 58, 96, 44],
[74, 89, 90, 85,],
[90, 54, 94, 84,]])
使用a.argmax() 给出最大的第 0 轴索引,即
> a.argmax(axis=0)
array([[0, 1, 0, 0],
[1, 1, 1, 0],
[1, 1, 1, 0]])
但这不适用于切片...
【问题讨论】: