Numpy の配列に最大値が複数。インデックスを全て取得したい – Python

Numpy の ndarray 配列や Series で最大値、最小値の場所を知りたければ argmaxargmin メソッドを使います。ただし、最大、最小値がもし複数あった場合、argmax、argmin は先頭のインデックスを1つだけ返しておわりです。1つじゃなく、すべて知りたい場合は maxminwhere を組み合わせます。

- 目次 -

スポンサーリンク

最大値のインデックス

argmax が返してくるのは先頭のインデックスだけ。

すべて知りたければ

data == data.max() の結果を where に渡します。

where の役目

data == data.max() の部分は True、False の配列を戻します。

where は、配列を調べて値が True のインデックスを返します。
つまり、data.max() と値が等しい場所をまとめて知らせてくれるわけです。

最小値のインデックス

括弧のなかを min にするだけです。

Seriesの場合

Series も同様です。

スポンサーリンク

コメントはお気軽に