1
2 차원 bool_ 배열에 인덱스 목록을 작성하고 싶습니다.Python Numpy 2 차원 배열 반복
import numpy
arr = numpy.zeros((6,6), numpy.bool_)
arr[2,3] = True
arr[5,1] = True
results1 = [[(x,y) for (y,cell) in enumerate(arr[x].flat) if cell] for x in xrange(6)]
results2 = [(x,y) for (y,cell) in enumerate(arr[x].flat) if cell for x in xrange(6)]
결과 1 :
[[], [], [(2, 3)], [], [], [(5, 1)]]
결과이 완전히 잘못
목표 :
[(2, 3),(5, 1)]
나중에 목록을 병합하지 않고이 작업을 수행 할 수있는 방법, 또는 더 나은 방법 일반적으로 이렇게하려면?
오 사랑은 들어 본 적이 없습니다. zip (* numpy.where (arr))이 제대로 작동합니다. 다른 사람이 있다면 이걸 잠시 열어두고 듣겠습니다. – user1012037
'np.where()'는 하나의 인자를 가지고'np.nonzero()'와 동일합니다. OP 형식으로 변환하려면 :'np.argwhere (a)'와 같은'np.transpose (np.nonzero (a))'. – jfs