【Numpy】ブーリアンの配列をintへ。y=x>0 , astype(np.int)

>>> import numpy as np
>>> x = np.array([-1.0, 1.0, 2.0])
>>> x
array([-1.,  1.,  2.])

>>> y = x > 0
>>> y
array([False,  True,  True])

>>> y = y.astype(np.int)
>>> y
array([0, 1, 1])

Numpy配列に不等号の演算をする。

y = x > 0 でxの中身が0より大きいか小さいかを調べる。
その結果はyに代入されているので、yの中身を見る。
すると、TrueかFalseが入っている。
これをint型にするためにastype()メソッドを使い、np.intで型の指定を行う。

0より大きいかどうかだけでなく、もちろん他の値でも判定できる。

例を出してみる。

>>> a = np.array([5, 13, 1])
>>> a
array([ 5, 13,  1])

>>> b = a > 10
>>> b
array([False,  True, False])

>>> b = b.astype(np.int)
>>> b
array([0, 1, 0])