(66) numpyで配列の条件検索

投稿者: | 2014年9月11日

5,967 views

この記事は最終更新から 1652日 が経過しています。

以下のような乱数配列aを作成する。

>>> import numpy as np
>>> a = np.random.randint(0,5,10)
>>> a
array([1, 2, 2, 0, 1, 3, 2, 1, 1, 4])

値が3以上の要素を検索する。→ [5]に3, [9]に4が検出された。

>>> b = np.where(a >= 3)
>>> b
(array([5, 9]),)
>>> a[b]
array([3, 4])

非0の要素を検索する。

>>> c = np.nonzero(a)
>>> c
(array([0, 1, 2, 4, 5, 6, 7, 8, 9]),)
>>> a
array([1, 2, 2, 1, 3, 2, 1, 1, 4])

これでも同じこと。

>>> d = np.where(a != 0)
>>> d
(array([0, 1, 2, 4, 5, 6, 7, 8, 9]),)
>>> a[d]
array([1, 2, 2, 1, 3, 2, 1, 1, 4])

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です