らくがき入門

機械学習を始めとしたコンピュータサイエンスを主に扱っています。

numpyのarrayで複数の要素が配列内に存在するか判定する

numpy.arrayで複数の要素をリストで渡して、真偽値行列を作成してみる。

使うのは、numpy.in1dで、 指定したarray-likeな要素がある配列内に存在するかどうかを判定して、1次元の真偽値行列を返してくれる。

配列の形を合わせたいなら、reshape(arr.shape)で形を合わせることができる。

In [1]: import numpy as np

In [2]: arr = np.array([[1, 3, 5], [2, 3, 4], [2, 3, 3]])

In [3]: np.in1d(arr, [1, 3, 5])
Out[3]: array([ True,  True,  True, False,  True, False, False,  True,  True])

In [4]: np.in1d(arr, [1, 3, 5]).reshape(arr.shape)
Out[4]: 
array([[ True,  True,  True],
       [False,  True, False],
       [False,  True,  True]])

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理