2013-07-30 3 views
1

여기 내 문제가있다 : 나는 다른 수신기의 출력을 다루고 있으며 배열의 열 0에 숫자로 나열됩니다. 표시되는 특정 수신기 값에 해당하는 색인을 찾으려고합니다. 아래 코드 내에서 값이 6 인 모든 인덱스를 찾으려고했습니다.numpy 배열에서 반복되는 값의 인덱스 찾기

내 문제는 출력 (인쇄물)에 대해 []와 같은 인덱스가없는 것처럼 나타납니다. 값 6. 데이터 파일을 보았으며 잘못된 것으로 알고 있습니다. 데이터 텍스트 파일은 4x22000ish 배열입니다. 어떤 도움이라도 대단히 감사하겠습니다. 감사.

from numpy import * 

data = loadtxt("/home/***") 
s,t,q = data[:,0], data[:,2], data[:,3]       
t,q = loadtxt("/home/***", usecols = (2,3), unpack=True) 

indices = [] 
for index, value in enumerate(data[:,0]): 
    if value == '6': 
     indices.append(index) 

print indices 

답변

1
numpy.nonzero(data[:,0]==6)[0] 

데이터 [: 0] 조건이 참일 때 == 6 명 복귀 부울 배열, 1, 0은 그것이 거짓 일 때 제로가 아닌 요소의 인덱스를 반환 numpy.nonzero

컨테이너

의 내부에 당신은 또한 당신이 잡아

data[data[:,0]==6,2] 

등의 작업을 수행 할 수 있다는 것을 알고 관심이있을 수 있습니다 첫 번째 열이 0 일 때 두 번째 열의 모든 요소

+0

잘됐다! 감사! – boson

관련 문제