[英]Python NumPy: How to fill a matrix using an equation
我希望初始化矩陣A
,對於某些f
使用等式A_i,j = f(i,j)
(這不重要)。
我怎么能這樣簡潔地避免我有兩個for循環的情況?
numpy.fromfunction適合這里的賬單。
來自doc的示例:
>>> import numpy as np
>>> np.fromfunction(lambda i, j: i + j, (3, 3), dtype=int)
array([[0, 1, 2],
[1, 2, 3],
[2, 3, 4]])
也可以使用numpy.indices
獲取數組的索引,然后以矢量化方式應用函數f
,
import numpy as np
shape = 1000, 1000
Xi, Yj = np.indices(shape)
A = (2*Xi + 3*Yj).astype(np.int) # or any other function f(Xi, Yj)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.