2015-05-29 109 views

回答

10

numpy.fromfunction符合这里的法案。从文档

例子:

>>> 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]]) 
+0

非常好,谢谢。 –

+6

警告:文档没有清楚地解释这一点,但'np.fromfunction(f,shape,dtype = dtype)'是'f(* np.indices(shape,dtype = dtype))'的薄包装。它不会对每个单元格执行'f'的单独调用,所以如果您传递的函数不能以矢量化方式工作,则会出现奇怪和错误的结果。 – user2357112

1

人们还可以让你的数组的索引与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)