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を使ったデータ処理
- 作者: Wes McKinney,瀬戸山雅人,小林儀匡,滝口開資
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/07/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る