dask.array.fromfunction — Dask documentation (original) (raw)
dask.array.fromfunction¶
dask.array.fromfunction(func, chunks='auto', shape=None, dtype=None, **kwargs)[source]¶
Construct an array by executing a function over each coordinate.
This docstring was copied from numpy.fromfunction.
Some inconsistencies with the Dask version may exist.
The resulting array therefore has a value fn(x, y, z)
at coordinate (x, y, z)
.
Parameters
functioncallable (Not supported in Dask)
The function is called with N parameters, where N is the rank ofshape. Each parameter represents the coordinates of the array varying along a specific axis. For example, if shapewere (2, 2)
, then the parameters would bearray([[0, 0], [1, 1]])
and array([[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 (Not supported in Dask)
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 byfunction. If function returns a scalar value, the shape offromfunction would not match the shape parameter.
Notes
Keywords other than dtype and like are passed to function.
Examples
import numpy as np
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]])