Create a numpy array using a function with numpy.fromfunction() function?
In this article, you will learn how to Create a numpy array using a function with numpy.fromfunction() function.
Syntax: numpy.fromfunction(function, shape, **kwargs)
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:
function : callable
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, if shape were (2, 2), then the parameters would be array([[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.
dtype : data-type, optional
Data-type of the coordinate arrays passed to function. By default, dtype is float.
Returns:
fromfunction : any
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 of fromfunction would not match the shape parameter.
#Example program – 1
import numpy as np
a=np.fromfunction(lambda i, j: i == j, (3, 3), dtype=int)
print(a)
Output:
[[ True False False] [False True False] [False False True]]
#example program – 2
import numpy as np
a=np.fromfunction(lambda i, j: i - j, (3, 3), dtype=int)
print(a)
Output:
[[ 0 -1 -2] [ 1 0 -1] [ 2 1 0]]