2011-10-24 3 views
1

좋아요, 그래서 모양이 (23025, 1000) 2 차원 배열을 가지고 있는데, 'allfiles' .Python/Numpy - 변수를 사용하여 2-d 어레이에서 2-d 서브 어레이를 추출합니다.

한 번에 50 개의 열을 배열을 통해 이동하여 조작을 위해 하위 배열로 추출해야합니다. 문제는 내가 아래 코드를 사용하여 배열 주소를 지정하면 변수 (a 및 b)를 인식하지 못하는 것입니다. 내가 가지고있는 코드는 다음과 같습니다.

q = 50 
    a = np.shape(allfiles)[1] # a = 1000 
    for i in range(a): 
     b = a + q 
     data = allfiles[:,a:b] 

내가 즉, 수의 변수를 대체

은 ...

data = allfiles[:,30:80] 

이 작동하는 것 같다. 그래서, 내 질문은 - 배열 인덱스 변수를 전달할 수있는 방법이 있습니까? 그렇지 않다면 변수를 사용하여 하위 배열을 만들 수있는 더 좋은 방법이 있습니까?

행운을 빌어 스택 오버 플로우에서이 문제를 찾으려고했지만이 문제가있는 사람이 처음이 아니겠습니까?

건배들, 모건

답변

2

당신은 루프에서 i을 받고 있지만 사용하지 마십시오.

q = 50 

for start in xrange(0, allfiles.shape[1], q): 
    data = allfiles[:,start:start+q] 
    ... 
+0

건배는 저를 위해 모든 것을 정리했습니다. – user1010836