2013-01-24 4 views
2

나는이 데이터얻기 행

내가 누구의 제로 번째 요소 몇 가지 다른 것보다 약간 값 value1 미만 높다 a 모든 행에 저장할
In [56]:data 
Out[56]: 
array([[ 4360., 6178.], 
     [ 10906., 14956.], 
     [ 5071., 8963.], 
     ..., 
     [ 16019., 12300.], 
     [ 12306., 3327.], 
     [ 13663., 12641.]]) 

다음과 같은 배열 값 value2.

나는 시도가 다음

d[ 9057 > d[0::,0] > 8000, 0::] 

d[d[0::,0] > 8000 and d[0::,0] < 9057, 0::] 

하지만 모두 다음과 같은 오류

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 

이 작업을 수행하는 효율적인 방법이 있나요 의해 중지? 감사.

답변

4

다음은이를 수행해야합니다

d[(d[:,0] > 8000) & (d[:,0] < 9057)] 

나는 눈이 좀 더 쉽게 찾을 :

d[(d[0::,0] > 8000) & (d[0::,0] < 9057), 0::] 

을 그건 그렇고, 당신은 모든 사람들이 0:::로 대체 할 수 있습니다.

+0

그래, 그랬어. 그리고 네,':'로 많은 "깨끗한"것처럼 보입니다. 감사! – Sebastialonso