![](/img/trans.png)
[英]Multiply each row of one array with each element of another array in numpy
[英]Update last element of each row in numpy array
我有兩個 numpy arrays, array_one
是 NxM 和array_two
是 NxMx3,我想根據array_one
的值更改array_two
每一行中最后一個元素的值,如下所示:
array_two[i, j, -1] = foo(array_one[i,j])
其中foo
基於對來自array_one
的元素的計算返回一個值。
有沒有辦法避免手動循環 arrays 並使用 numpy 函數加快此過程?
示例顯示使用 np.vectorize 來實現您的想法。
用你的 foo 替換 square ,你應該做生意了。
import numpy as np
array_3d = np.ones((2,3,2))
array_2d = np.random.randn(2,3)
def square(x):
return x**2
square_all = np.vectorize(square)
array_3d[:,:,-1] = square_all(array_2d)
print(f'{array_3d[:,:,:]=}')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.