【毎日Python】Pythonで配列の値が条件に一致するかを判定する方法|numpy.all

all
こつこつPython

Pythonで配列の値が条件に一致するか判定する方法です。
使用するのは、Pythonのnumpyライブラリのall関数です。

import numpy as np

このような配列で試してみましょう。

a = np.array([[1, 7, 1, 3, 1], 
              [0, 1, 0, 3, 1], 
              [3, 8, 0, 6, 1]])

まず、all関数の引数に配列を指定して実行します。
Falseが返されました。
all関数は、デフォルトでは、各要素に0がある場合はFalse、0が無い場合はTrueが返されます。

np.all(a)

実行結果:

False

次に、列方向に判定してみましょう。
引数axisに0を渡して実行します。
列方向に、それぞれの判定結果を配列で取得することができました。

np.all(a, axis=0)

実行結果:

array([False,  True, False,  True,  True])

次に、行方向に判定してみましょう。
引数axisに1を渡して実行します。
行方向に、それぞれの判定結果を配列で取得することができました。

np.all(a, axis=1)

実行結果:

array([ True, False, False])

また、判定の条件を指定することもできます。
全ての値が5未満であるかを判定してみましょう。
実行します。
配列には5以上の値も含まれるため、Falseが返されました。

np.all(a < 5)

実行結果:

False

列方向、行方向も同様に実行することができます。

np.all(a < 5, axis=0)

実行結果:

array([ True, False,  True, False,  True])
np.all(a < 5, axis=1)

なお、似た関数でany関数があります。
any関数では、いずれかの値が条件に一致する場合は、Trueが返されます。

np.any(a < 5)

実行結果:

array([False,  True, False])

関連メソッド

【毎日Python】Pythonで配列の値を条件を指定して置換する方法|numpy.putmask

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト