簡體   English   中英

Python Numpy Matrix應用元素行列輸入明智功能

[英]Python Numpy Matrix Apply Element Row Column Entry Wise Function

我想在NumPy矩陣的每個(i,j)條目上應用一個函數。 但我想使用值ij 作為一個例子,給定向量AB ,以及抽象函數f ,我想做以下事情:

for i in range(I):
    for j in range(J):
        M[i,j] = f(A[i],B[j])

而不是上面我可以做以下事情:

g = lambda (i,j): f(A[i],B[j])
apply(M, g)

只是試圖矢量化for循環。

謝謝!

這取決於功能

f = lambda x, y: x ** 2 + y

np.random.seed([3,1415])
A = np.random.rand(10)
B = np.random.rand(10)
M = np.empty_like(A)
M.fill(np.nan)

slc = np.array([3, 5, 6, 7])

然后做你提出的建議

M[slc] = f(A[slc], B[slc])

M

array([        nan,         nan,         nan,  1.14332569,         nan,
        0.11791531,  0.86916307,  0.86854943,         nan,         nan])

​

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM