1. ホーム
  2. python

[解決済み] 非平坦なインデックスを返すnumpy配列のArgmax

2022-09-16 11:25:50

質問

Numpy配列の最大要素の添字を取得しようとしています。 これは、以下を使用して行うことができます。 numpy.argmax . 私の問題は、私は全体の配列で最大の要素を見つけ、そのインデックスを取得したいことです。

numpy.argmax は、私が望むものではない1つの軸に沿って、または私が望むもののようなフラット化された配列に適用される可能性があります。

私の問題は numpy.argmaxaxis=None は、多次元インデックスが必要なときにフラットインデックスを返します。

私は divmod を使用してフラットでないインデックスを得ることができますが、これは醜いと感じます。これを行うための良い方法はありますか?

どのように解決するのですか?

あなたは numpy.unravel_index() の結果に対して numpy.argmax() :

>>> a = numpy.random.random((10, 10))
>>> numpy.unravel_index(a.argmax(), a.shape)
(6, 7)
>>> a[6, 7] == a.max()
True