この記事では、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])
コメント