12 ML python nonzero

653 ワード

公式サイト
nonzero関数は、主に、2次元配列、すなわち行列の組合せとして、特定の条件または0以外の行列インデックス位置を返すために使用されます.
>>> x = np.eye(3)
>>> x
array(
[[ 1., 0., 0.],
 [ 0., 1., 0.],
 [ 0., 0., 1.]])
>>> np.nonzero(x)
(array([0, 1, 2]), array([0, 1, 2]))

ここで[0,1,2][0,1,2]->[0,0][1,1][2,2]はx行列中の非0要素の位置インデックスである
true falseに戻るtrueのインデックスを比較するためにも使用できます.
>>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> a > 3

array([
[False, False, False], 
[ True, True, True],
[ True, True, True]], dtype=bool)

>>> np.nonzero(a > 3)
(array([1, 1, 1, 2, 2, 2]),
array([0, 1, 2, 0, 1, 2]))