numpy.fromfunction(function, shape, **kwargs):Construct an array by executing a function over each coordinate.
参数说明:function:回调函数
shape:整数元组,若是一维数组,则shape为(数组长度,)
下面通过几个例子看看numpy.fromfunction构造数组的机制
In [1]: import numpy as np
In [2]: np.fromfunction(lambda i :i ,(4,))
Out[2]: array([ 0., 1., 2., 3.])
In [3]: np.fromfunction(lambda i,j:i+j,(2,3))
Out[3]:
array([[ 0., 1., 2.],
[ 1., 2., 3.]])
看到上述结果是不是觉得有点奇怪,也不清楚怎么来的。那下面我们来看看传给回调函数的i,j的值到底是啥?给函数多传个参数行不行呢?
In [6]: def f(*args):
...: print(args)
...: np.fromfunction(f,(2,3))
...:
(array([[ 0., 0., 0.],
[ 1., 1., 1.]]), array([[ 0., 1., 2.],
[ 0., 1., 2.]]))
结果上看:传给回调函数确实是只有两个参数,是两个数组,这和