numpy.fromfunction#
- numpy.fromfunction(function, shape, *, dtype=<class 'float'>, like=None, **kwargs)[source]#
Construct an array by executing a function over each coordinate.
The resulting array therefore has a value
fn(x, y, z)
at coordinate(x, y, z)
.- Parameters
- functioncallable
The function is called with N parameters, where N is the rank of
shape
. Each parameter represents the coordinates of the array varying along a specific axis. For example, ifshape
were(2, 2)
, then the parameters would bearray([[0, 0], [1, 1]])
andarray([[0, 1], [0, 1]])
- shape(N,) tuple of ints
Shape of the output array, which also determines the shape of the coordinate arrays passed to function.
- dtypedata-type, optional
Data-type of the coordinate arrays passed to function. By default,
dtype
is float.- likearray_like, optional
Reference object to allow the creation of arrays which are not NumPy arrays. If an array-like passed in as
like
supports the__array_function__
protocol, the result will be defined by it. In this case, it ensures the creation of an array object compatible with that passed in via this argument.New in version 1.20.0.
- Returns
- fromfunctionany
The result of the call to function is passed back directly. Therefore the shape of
fromfunction
is completely determined by function. If function returns a scalar value, the shape offromfunction
would not match theshape
parameter.
Notes
Keywords other than
dtype
are passed to function.Examples
>>> np.fromfunction(lambda i, j: i, (2, 2), dtype=float) array([[0., 0.], [1., 1.]])
>>> np.fromfunction(lambda i, j: j, (2, 2), dtype=float) array([[0., 1.], [0., 1.]])
>>> np.fromfunction(lambda i, j: i == j, (3, 3), dtype=int) array([[ True, False, False], [False, True, False], [False, False, True]])
>>> np.fromfunction(lambda i, j: i + j, (3, 3), dtype=int) array([[0, 1, 2], [1, 2, 3], [2, 3, 4]])