1
我有一個numpy的陣列說複製元件
a = array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
我具有相同的尺寸的陣列 '複製',其中複製[I,J](> = 0)表示多少次[我應該沿着這一行重複[i] [j]。顯然,複製數組遵循np.sum(複製[i])對所有i具有相同值的不變量。 例如,如果
replication = array([[1, 2, 1],
[1, 1, 2],
[2, 1, 1]])
然後複製後的最終數組是:
new_a = array([[1, 2, 2, 3],
[4, 5, 6, 6],
[7, 7, 8, 9]])
目前,我這樣做是爲了創造new_a:
##allocate new_a
h = a.shape[0]
w = a.shape[1]
for row in range(h):
ll = [[a[row][j]]*replicate[row][j] for j in range(w)]
new_a[row] = np.array([item for sublist in ll for item in sublist])
然而,這似乎是因爲涉及到使用列表太慢。我可以在沒有使用Python列表的情況下完全使用numpy嗎?
謝謝,只使用numpy的是量值的次序快於列表的接口。 –