Construct an array by executing a function over each coordinate in Numpy


To construct an array by executing a function over each coordinate, use the numpy.fromfunction() method in Python Numpy. 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]])

The fromfunction() returns 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.

Steps

At first, import the required library −

import numpy as np

To construct an array by executing a function over each coordinate, use the numpy.fromfunction() method in Python Numpy −

print("Result
",np.fromfunction(lambda a, b: a, (3, 3), dtype=float)) print("
Result
",np.fromfunction(lambda a, b: b, (3, 3), dtype=float))

Checking for array elements equality −

print("
Result
",np.fromfunction(lambda a, b: a == b, (4, 4), dtype=int))

Adding elements −

print("
Result
",np.fromfunction(lambda a, b: a + b, (5, 5), dtype=int))

Checking with greater than −

print("
Result
",np.fromfunction(lambda a, b: a > b, (5, 5), dtype=int))

Checking with less than −

print("
Result
",np.fromfunction(lambda a, b: a < b, (5, 5), dtype=int))

Example

import numpy as np

# To construct an array by executing a function over each coordinate, use the numpy.fromfunction() method in Python Numpy
print("Result
",np.fromfunction(lambda a, b: a, (3, 3), dtype=float)) print("
Result
",np.fromfunction(lambda a, b: b, (3, 3), dtype=float)) # Checking for array elements equality print("
Result
",np.fromfunction(lambda a, b: a == b, (4, 4), dtype=int)) # Adding elements print("
Result
",np.fromfunction(lambda a, b: a + b, (5, 5), dtype=int)) # Checking with greater than print("
Result
",np.fromfunction(lambda a, b: a > b, (5, 5), dtype=int)) # Checking with less than print("
Result
",np.fromfunction(lambda a, b: a < b, (5, 5), dtype=int))

Output

Result
[[0. 0. 0.]
[1. 1. 1.]
[2. 2. 2.]]

Result
[[0. 1. 2.]
[0. 1. 2.]
[0. 1. 2.]]

Result
[[ True False False False]
[False True False False]
[False False True False]
[False False False True]]

Result
[[0 1 2 3 4]
[1 2 3 4 5]
[2 3 4 5 6]
[3 4 5 6 7]
[4 5 6 7 8]]

Result
[[False False False False False]
[ True False False False False]
[ True True False False False]
[ True True True False False]
[ True True True True False]]

Result
[[False True True True True]
[False False True True True]
[False False False True True]
[False False False False True]
[False False False False False]]

Updated on: 10-Feb-2022

325 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements