【NumPy】numpy.whereで配列から条件を満たす要素番号を抽出

この記事では、Python言語とNumPyを用いて、配列(リスト)から特定の条件を満たす要素番号を抽出する方法をソースコード付きで解説します。

条件を満たす要素番号抽出

NumPyの「numpy.where」を利用することで、指定した条件を満たす配列(リスト)の要素番号を取り出すことが出来ます。

書式

np.where(条件式)

今回は、配列y内の数値データのうち、10以上20未満のデータがある要素番号xを取り出す。

ソースコード

サンプルプログラムのソースコードは下記の通りです。

# -*- coding: utf-8 -*-
import numpy as np

# 配列の宣言
y = np.array([8,9,10,11,15,18,22,21,20,29])

# 条件を満たすインデックスを取得
x = np.where((y>=10)&(y<20)) # [2 3 4 5]

# 結果を表示
print(x[0])

おすすめ記事

Python入門 サンプル集
NumPy入門 サンプル集

コメント