NumPy 배열로 작업하고 있습니다.numpy 배열을 효율적으로 재구성
저는 2N
길이 벡터 D
이고 N x N
배열 C
으로 그 일부를 재 형성하려고합니다.
오른쪽 이제이 코드는 내가 원하는 것을, 그러나 더 큰 N
에 대한 병목 : C
이 만들어
```
import numpy as np
M = 1000
t = np.arange(M)
D = np.sin(t) # initial vector is a sin() function
N = M/2
C = np.zeros((N,N))
for a in xrange(N):
for b in xrange(N):
C[a,b] = D[N + a - b]
```
일단 내가 먼저 가서 어떤 행렬 연산 등을 수행합니다.
이 중첩 루프는 상당히 느리지 만, 본질적으로 인덱스의 변경이므로 나는 NumPy의 내장 된 모양 (numpy.reshape
)을 사용하여이 부분을 빠르게 할 수 있다고 생각했습니다.
불행히도, 나는 이러한 지표를 변형시키는 좋은 방법을 찾지 못하는 것 같습니다.
이 부분의 속도를 높이려면 어떤 도움이 필요합니까?
신난다! 이것은 루핑에 비해 상당한 속도 향상을 제공했습니다. – jjgoings
@jjgoings 그래, 그 확인! – Divakar