2016-12-07 3 views
0

2 열로 구성된 .txt 데이터 파일이 있습니다. 첫 x 째는 x 값이고 두 x 째 컬럼은 y 값을 포함합니다.부울, Flatnonzero, 파이썬에서 numpy의 특정 범위 선택

내가하려는 것은 상당히 간단합니다. 내 x 값이 1700 및 < = 1735 인 위치를 식별하여 해당 x 범위 내에서 y 값을 얻을 수 있도록하고 싶습니다. 결국 y 값의 합을 얻고 싶습니다.

다음 코드는 내가 작성한 코드입니다.

import numpy as np 

data = np.loadtxt('NI2_2.txt') 
x_all= data[:,0] 
y_all= data[:,1] 
x_selected= np.flatnonzero(np.logical_and(x_all<=1700),(x_all=>1735)) 
y_selected= y_all[x_selected] 
y_final= np.sum(y_selected) 

구문이 올바르지 않다는 x_selected에 대한 오류 메시지가 나타납니다. 누군가가 잘못된 점을 알고 있습니까?

감사합니다. np.where를 사용 시시

답변

1

시도 :

y_selected = y_all[np.where((x_all >= 1700) & (x_all <= 1735))] 
y_final = np.sum(y_selected) 

편집 : 은 또한 파이썬에서 =>을 쓸 수 없습니다. >=을 사용하십시오.

1

비교 피연산자가> =와 not =>이지만 더 이상 시도 할 수 없기 때문에 미안합니다.