python numpyの配列を条件を指定して値を抽出する

pythonで、配列を条件を指定して値を抽出するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。
環境
- OS windows10 pro 64bit
- python 3.8.5
numpyインストール
numpyをインストールされていない方は、pipでインストールしておきます。
pip install numpy
# Successfully installed numpy-1.19.4
条件で抽出
条件を付けての抽出は、以下の方法で可能です。
配列[配列 >= 5]
以下は、条件を指定してのサンプルコードとなります。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
# 5以上
print(arr[arr >= 5])
# [5 6]
# 2で割り切れたものだけ
print(arr[arr % 2 == 0])
# [2 4 6]
多次元配列でも結果は、同じとなります。
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 5以上
print(arr[arr >= 5])
# [5 6]
print(arr[arr % 2 == 0])
# [2 4 6]
条件を複数指定する場合は、「&」や「|」を使用します。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
# 5以上 かつ 偶数のみ
print(arr[(arr >= 5) & (arr % 2 == 0)])
# [6]
# 5以上 または 偶数のみ
print(arr[(arr >= 5) | (arr % 2 == 0)])
# [2 4 5 6]
指定した条件にあった値のみを、変更することも可能です。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
arr[arr % 2 == 0] = 0
print(arr)
# [1 0 3 0 5 0]
-
前の記事
javascript 配列から配列データのみを抽出する 2021.06.20
-
次の記事
C# テキストファイル内のデータの行数をカウントする 2021.06.20
コメントを書く