我有2D numpy的陣列,我需要兩個嵌套循環遍歷它的每個元素。我想要在嵌套循環的一些量化,但我不斷收到一個錯誤說,向量化操作:Python的
j= np.arange (0,x.shape [1])
IndexError: tuple index out of range
這些都是原來的嵌套循環:
for k in range(A.shape[0]):
for j in range(A.shape[1]):
A[k,j] = method1(x[k],x[j],a,c0,c1)
這是我如何試圖基於矢量化,使上這個答案,https://codereview.stackexchange.com/questions/17702/python-numpy-running-15x-slower-than-matlab-am-i-using-numpy-effeciently,
j= np.arange (0, A.shape [1])
for k in range(A.shape[0]):
A[k,j] = method1(x[k],x[j],a,c0,c1)
我試圖改變指數在np.arange,但沒有奏效。
誰能告訴我如何解決這一問題?
謝謝。編輯:通過@ajcr評論,我的錯誤是在這一行,j = np.arange(0,x.shape [1]),我本來應該使用2D數組「A」的列數作爲j = np.arange(0,A.shape [1]),但我錯誤地使用了一維數組x,因此錯誤。它現在工作完美。
的'IndexError'爲'x.shape [1]''意味着僅x'有一個維度 - 你確定它是2D? –
哦!對於這個錯誤,我真的很抱歉,我應該把它作爲,j = np.arange(0,A.shape [1])。非常感謝您的評論,它現在工作完美,比以前快得多:) – Dania
我將編輯我的問題並指出錯誤。 – Dania