[Python]Numpy配列の2番目に大きい値を取得するには?

python

どうも、ちょげ(@chogetarou)です。

Numpy配列(array)の2番目の最大値を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Numpy配列(array)で2番目に大きい値を取得するには、partition()を使います。

まず、numpyからpartition()を呼び出します。

partition()の第1引数にNumpy配列から呼び出したflatten()の結果、第2引数に「-2」を指定します。

そして、partition()の結果のインデックス「-2」にアクセスします。

#arr=対象のNumpy配列
result = np.partition(arr.flatten(), -2)[-2] #2番目に大きい値を取得

上記のpartition()のインデックス「-2」にアクセスすることで、Numpy配列の2番目に大きい値を取得できます。

使用例

import numpy as np

nums = np.array([[10, 3, 5, 8], [1, 7, 2, 9]])

result = np.partition(nums.flatten(), -2)[-2]

print(result)
出力:
9

コメント

タイトルとURLをコピーしました