2016-03-26 18 views
0

dim(157,1944)のnumpy配列があります。2次元配列内の非ゼロ要素を持つ列のインデックスを検索

任意の行に非ゼロ要素を持つ列のインデックスを取得したいとします。

例:[[0,0,3,4], [0,0,1,1]] ---->[2,3]

あなたはそれぞれの行を見ると、列の非ゼロ要素がある[2、3]私が持っているのであれば

[[0,1,3,4], [0,0,1,1]]

[1,2,3]を取得する必要があります。これは、列インデックス0に任意の行の非ゼロ要素がないためです。

+0

したがって、2番目の行には、その場合の0でない一意のインデックスはありませんか? '[[0,0,3,4]、[0,0,1,1]]、[2,0,0,3]、[0,3,1]と言うように、 、3]] 'と期待される出力をリストダウンしますか? – Divakar

+0

はい。あなたの場合、私は[0,1,2,3]を得るでしょう –

+1

あなたは '[0,1,2,3]'にどのように到着したかについてはっきりしていません。明確にできますか?質問を編集して、これらをすべて一覧にしてください。 – Divakar

答えて

3

質問が完全に定義されているかどうかわかりません。しかし、我々は行のなしがゼロであるため、列のインデックスがある

import numpy as np 
a = np.array([[0,0,3,4], [0,0,1,1]]) 
その後、

>>> np.nonzero(np.all(a != 0, axis=0))[0] 
array([2, 3]) 

で始まると言う、と

>>> np.nonzero(np.any(a != 0, axis=0))[0] 
array([2, 3]) 

はの指標であります のすべての列がではない列はゼロです(これは、指定した例でも同じです)。

関連する問題