【问题标题】:Indexes of min/max elements in 4D array4D 数组中最小/最大元素的索引
【发布时间】:2016-02-28 17:21:45
【问题描述】:

我需要沿特定轴更改 4D 数组的最小/最大值。沿特定轴的 min/max 坐标由 armax 重新调整,因此对于 4D 数组 a 有一个 3D 数组。

现在我需要从这个 3D 数组中恢复最小/最大值的完整索引。我知道最有效的方法是将mgrid 和argmin 的结果组合使用类似(对于沿第一轴的最小值):

mg = np.mgrid[0:Array.shape[0], 0:Array.shape[1], 0:Array.shape[2], 0:Array.shape[3]]

Array[mg[0], np.argmin(Array, axis=1), mg[2], mg[3]] = np.min(Array)

但是,这似乎无法正常工作。

有人可以建议如何更正上面的代码,用 Array 的绝对最小值替换 Array 沿第 1 轴的最小值吗?

或者,如果这不是最快的方法,那么最佳解决方案是什么?

【问题讨论】:

  • 使该行更易于阅读。它吓跑了潜在的帮助。

标签: python numpy multidimensional-array max min


【解决方案1】:

尝试索引:

Array[:, np.argmin(Array, axis=1), :, :] = ....

我认为您正在尝试将一个“平面”的所有值设置为最小值。 : 是 slice,指定沿该轴的所有索引。

我实际上并没有尝试运行您的示例,但我认为您不需要为此目的生成 mg。

【讨论】:

    猜你喜欢
    • 2018-10-17
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 2019-01-12
    相关资源
    最近更新 更多