![](/img/trans.png)
[英]How to add a 1d array to a 2d array element-wise to get a 3d array in numpy
[英]Python loop optimization involving the element-wise product of a 2D array and a repeated 1D array
當要優化像這樣的循環時,是否存在numpy函數或其他任何函數?
for i in range(0,n):
a[i, 0:p] = b[i, 0:p] * c[0:p]
在這里,c [0:p]是一維數組(與i索引無關),可以在循環之前存儲一次以節省一些計算。 但是,我更想知道是否存在一個可以代替for循環本身的函數,該函數相當慢。
正如您所指出的,循環可能不是必需的。
assert (c[0:p]).shape == (p,)
在哪里
assert (a[0:n, 0:p]).shape == (n, p)
assert (b[0:n, 0:p]).shape == (n, p)
您可以直接執行矩陣乘法和賦值來代替循環:
a[0:n, 0:p] = b[0:n, 0:p] * c[0:p]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.