[NumPy] 6. データの最大, 最小, 0に最も近い値のindex

NumPy

はじめに

この記事では、NumPyライブラリを使って配列内の最大値・最小値のインデックスを取得する方法や、0に最も近い値を効率的に見つける方法について解説します。データ分析や科学計算に役立つ重要なテクニックです。

データの最大, 最小, 0に最も近い値のindexを求める

コード

解説

モジュールのインポート

データの生成

np.random.randn(200) で標準正規分布に従う乱数を200個もつ配列を生成します。

最大、最小、ゼロのindexの求め方

[NumPy] 5. np.sum, np.std などの集約関数の1次元、2次元配列における使用法
NumPyの集約関数np.sum、np.stdなどの1次元および2次元配列における使用方法を解説。axis(軸)パラメータの使い方や集計の動作原理、実践的なコード例を含む初心者向けガイド。

上記の集約関数を活用して効率的に求めることができます。

配列内の最小値のインデックスは np.argmin()、最大値のインデックスは np.argmax() で取得できます。

0に最も近い値を見つけるには、まず np.abs() でデータを絶対値に変換し、その後 np.argmin() で最小値のインデックスを求めるだけです。

図の設定

ax.plot(x,y)で全データを折れ線でプロットします。
ax.plot(x[y_max_idx],y[y_max_idx],’ro’, label=’max’)でxとyの最大値の位置を’ro’(赤丸)でピンポイントでプロットします。凡例に表示するために、labelを’max’に設定します。
最小値は’go’(緑丸)、0に最も近い値は’mo’(マゼンタ丸)で表示します。

軸ラベルの設定

凡例の設定

0に近い値の求め方の図

コード

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

参考

Pythonのリスト要素からある値と最も近い値を取り出す - Qiita
Pythonでリスト内からある値と最も近い値を取り出す際に少し手間取ったのでメモ. 失敗例 ネット上でnumpyのsearchsorted関数を使う方法を見たが, この関数はリストに値を挿入する際のインデックスを返却する関数なので, ある値...

コメント