ブールインデックス参照
配列の添字に「bool型の配列」を与えるとTrueに対応する配列要素のみが抽出される。これをブールインデックス参照という
code:boolindex11.py
import numpy as np
print(x, '元の配列')
print(mask, 'マスク用の配列')
print(result, '抽出結果')
対象となる配列と添字に用いる bool 型の配列は同じ形状の必要がある。
配列の論理演算を用いて取得したbool型の配列を用いることで、条件を満たす要素を容易に抽出することができる。 code:bool_index12.py
import numpy as np
print(x, '元の配列')
print(result, '抽出結果')
実用例
正弦波信号のうちで正の値を持つ領域だけを抽出する。
code:bool_index13.py
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6*np.pi, 1000) # データの用意
y1 = np.sin(x) # データの用意
plt.plot(y1)
plt.ylim(-1.2, 1.2)
plt.grid()
plt.show()
mask = y1 >= 0 # ここでbool型配列の生成
y2 = y1mask # ここでブールインデックス参照 plt.plot(y2)
plt.ylim(-1.2, 1.2)
plt.grid()
plt.show()
表示されたウインドウを消すには、そのウインドウをアクティブに(クリック)したうえで「q」を押す。
ここでは可視化のためにグラフ作成用ライブラリMatplotlibを使っている。この詳細は後で解説するので、雰囲気だけ掴んでおくこと。
/icons/hr.icon
※ ブラウザのバックボタンで戻る