Numpy fromfunction() Function



The Numpy fromfunction() function is used to construct an array by executing a function over each coordinate. The resultant array has a value fn(x, y, z) at coordinate (x, y, z) and this function is useful for generating arrays based on a mathematical function applied to the indices of the array.

Syntax

Following is the syntax of the Numpy fromfunction() function −

 
numpy.fromfunction(function, shape,dtype=float, **kwargs)

Parameters

Following are the parameters of the Numpy fromfunction() function −

  • function - A function that accepts N parameters, where N is the rank (number of dimensions) of the array. It is applied to each coordinate in the array.
  • shape - A tuple of integers specifying the shape of the output array. The length of this tuple determines the number of dimensions of the array.
  • dtype (optional) - The data type of the returned array. By default, it is set to float, but it can be specified as any NumPy dtype, such as int, float64, etc.
  • kwargs (optional) - This is the additional keyword arguments passed to the function.

Return Value

This function returns a NumPy array where each element is the result of applying the given function to the corresponding index values.

Example

Following is a basic example to generate a 2D array where each element is the sum of its indices using the Numpy fromfunction() function −

import numpy as np
# Define a function to apply to each coordinate
def func(x, y):
    return x + y

# Create a 4x4 array using fromfunction
array = np.fromfunction(func, (4, 4), dtype=int)
print("Generated Numpy Array:")
print(array)

Output

Following is the output of the above code −

Generated Numpy Array:
[[0 1 2 3]
 [1 2 3 4]
 [2 3 4 5]
 [3 4 5 6]]

Example - Applying a Mathematical Function

In the following example, we have generated a 3x3 array using numpy.fromfunction that calculates the product of the indices −

import numpy as np

# Define a function to calculate the product of indices
def product(x, y):
    return x * y

# Create a 3x3 array using fromfunction
array = np.fromfunction(product, (3, 3), dtype=int)
print("Product of Indices Array:")
print(array)

Output

Following is the output of the above code −

Product of Indices Array:
[[0 0 0]
 [0 1 2]
 [0 2 4]]

Example - Higher Dimensional Array

Here, we have generated a multi-dimensional array with sums the three indices function using numpy.fromfunction()

import numpy as np

# Define a function that sums three indices
def func_3d(x, y, z):
    return x + y + z

# Create a 3x3x3 array using fromfunction
array_3d = np.fromfunction(func_3d, (3, 3, 3), dtype=int)
print("Generated 3D Array:")
print(array_3d)

Output

Following is the output of the above code −

Generated 3D Array:
[[[0 1 2]
  [1 2 3]
  [2 3 4]]

 [[1 2 3]
  [2 3 4]
  [3 4 5]]

 [[2 3 4]
  [3 4 5]
  [4 5 6]]]

Example - Generating Complex Arrays

We can use numpy.fromfunction() to generate arrays based on more complex mathematical functions. Heres an example where we generate an array based on a sine function −

import numpy as np

# Define a sine function to apply to indices
def sine_func(x, y):
    return np.sin(x) + np.cos(y)

# Create a 4x4 array using fromfunction
array = np.fromfunction(sine_func, (4, 4))
print("Generated Array with Sine and Cosine:")
print(array)

Output

Following is the output of the above code −

Generated Array with Sine and Cosine:
[[1.         0.54030231 0.        -0.41614684]
 [1.84147098 1.38177329 0.84147098 0.42532415]
 [1.90929743 1.44959973 0.90929743 0.4931506 ]
 [1.14112001 0.68142231 0.14112001 -0.27502696]]
numpy_array_creation_routines.htm
Advertisements
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy