2012-12-20 4 views
5

아마도 이것은 쉬운 질문 일 수 있지만 배열에 요소를 복제하는 빠른 방법이 있습니까? 그것은 3D에이 방법과 같이 작동합니다 :numpy 중복 요소

1 2 3 
4 5 6 
7 8 9 

1 1 2 2 3 3 
1 1 2 2 3 3 
4 4 5 5 6 6 
4 4 5 5 6 6 
7 7 8 8 9 9 
7 7 8 8 9 9 

을 나는 위해 - 루프 중첩 3 그것을 시도, 그러나 이것은 정말 느렸다.

답변

6
>>> a = np.array([[1, 2, 3], 
        [4, 5, 6], 
        [7, 8, 9]]) 
>>> np.repeat(np.repeat(a, 2, 0), 2, 1) 

array([[1, 1, 2, 2, 3, 3], 
     [1, 1, 2, 2, 3, 3], 
     [4, 4, 5, 5, 6, 6], 
     [4, 4, 5, 5, 6, 6], 
     [7, 7, 8, 8, 9, 9], 
     [7, 7, 8, 8, 9, 9]]) 
+0

위대한 솔루션! 하지만이 함수는 dtype을 float64에서 float32로 변경한다는 것을 알았습니다. 이 문제를 피할 수 있습니까? – Christian

+1

@Christian - 나를 위해 dtype을 변경하지 않습니다. – eumiro

+0

죄송합니다. 내 잘못 - 나는 dtype을 파괴 한 또 다른 기능을 사용했습니다. 감사! :) – Christian