
- NumPy - Home
- NumPy - Introduction
- NumPy - Environment
- NumPy Arrays
- NumPy - Ndarray Object
- NumPy - Data Types
- NumPy Creating and Manipulating Arrays
- NumPy - Array Creation Routines
- NumPy - Array Manipulation
- NumPy - Array from Existing Data
- NumPy - Array From Numerical Ranges
- NumPy - Iterating Over Array
- NumPy - Reshaping Arrays
- NumPy - Concatenating Arrays
- NumPy - Stacking Arrays
- NumPy - Splitting Arrays
- NumPy - Flattening Arrays
- NumPy - Transposing Arrays
- NumPy Indexing & Slicing
- NumPy - Indexing & Slicing
- NumPy - Indexing
- NumPy - Slicing
- NumPy - Advanced Indexing
- NumPy - Fancy Indexing
- NumPy - Field Access
- NumPy - Slicing with Boolean Arrays
- NumPy Array Attributes & Operations
- NumPy - Array Attributes
- NumPy - Array Shape
- NumPy - Array Size
- NumPy - Array Strides
- NumPy - Array Itemsize
- NumPy - Broadcasting
- NumPy - Arithmetic Operations
- NumPy - Array Addition
- NumPy - Array Subtraction
- NumPy - Array Multiplication
- NumPy - Array Division
- NumPy Advanced Array Operations
- NumPy - Swapping Axes of Arrays
- NumPy - Byte Swapping
- NumPy - Copies & Views
- NumPy - Element-wise Array Comparisons
- NumPy - Filtering Arrays
- NumPy - Joining Arrays
- NumPy - Sort, Search & Counting Functions
- NumPy - Searching Arrays
- NumPy - Union of Arrays
- NumPy - Finding Unique Rows
- NumPy - Creating Datetime Arrays
- NumPy - Binary Operators
- NumPy - String Functions
- NumPy - Matrix Library
- NumPy - Linear Algebra
- NumPy - Matplotlib
- NumPy - Histogram Using Matplotlib
- NumPy Sorting and Advanced Manipulation
- NumPy - Sorting Arrays
- NumPy - Sorting along an axis
- NumPy - Sorting with Fancy Indexing
- NumPy - Structured Arrays
- NumPy - Creating Structured Arrays
- NumPy - Manipulating Structured Arrays
- NumPy - Record Arrays
- Numpy - Loading Arrays
- Numpy - Saving Arrays
- NumPy - Append Values to an Array
- NumPy - Swap Columns of Array
- NumPy - Insert Axes to an Array
- NumPy Handling Missing Data
- NumPy - Handling Missing Data
- NumPy - Identifying Missing Values
- NumPy - Removing Missing Data
- NumPy - Imputing Missing Data
- NumPy Performance Optimization
- NumPy - Performance Optimization with Arrays
- NumPy - Vectorization with Arrays
- NumPy - Memory Layout of Arrays
- Numpy Linear Algebra
- NumPy - Linear Algebra
- NumPy - Matrix Library
- NumPy - Matrix Addition
- NumPy - Matrix Subtraction
- NumPy - Matrix Multiplication
- NumPy - Element-wise Matrix Operations
- NumPy - Dot Product
- NumPy - Matrix Inversion
- NumPy - Determinant Calculation
- NumPy - Eigenvalues
- NumPy - Eigenvectors
- NumPy - Singular Value Decomposition
- NumPy - Solving Linear Equations
- NumPy - Matrix Norms
- NumPy Element-wise Matrix Operations
- NumPy - Sum
- NumPy - Mean
- NumPy - Median
- NumPy - Min
- NumPy - Max
- NumPy Set Operations
- NumPy - Unique Elements
- NumPy - Intersection
- NumPy - Union
- NumPy - Difference
- NumPy Random Number Generation
- NumPy - Random Generator
- NumPy - Permutations & Shuffling
- NumPy - Uniform distribution
- NumPy - Normal distribution
- NumPy - Binomial distribution
- NumPy - Poisson distribution
- NumPy - Exponential distribution
- NumPy - Rayleigh Distribution
- NumPy - Logistic Distribution
- NumPy - Pareto Distribution
- NumPy - Visualize Distributions With Sea born
- NumPy - Matplotlib
- NumPy - Multinomial Distribution
- NumPy - Chi Square Distribution
- NumPy - Zipf Distribution
- NumPy File Input & Output
- NumPy - I/O with NumPy
- NumPy - Reading Data from Files
- NumPy - Writing Data to Files
- NumPy - File Formats Supported
- NumPy Mathematical Functions
- NumPy - Mathematical Functions
- NumPy - Trigonometric functions
- NumPy - Exponential Functions
- NumPy - Logarithmic Functions
- NumPy - Hyperbolic functions
- NumPy - Rounding functions
- NumPy Fourier Transforms
- NumPy - Discrete Fourier Transform (DFT)
- NumPy - Fast Fourier Transform (FFT)
- NumPy - Inverse Fourier Transform
- NumPy - Fourier Series and Transforms
- NumPy - Signal Processing Applications
- NumPy - Convolution
- NumPy Polynomials
- NumPy - Polynomial Representation
- NumPy - Polynomial Operations
- NumPy - Finding Roots of Polynomials
- NumPy - Evaluating Polynomials
- NumPy Statistics
- NumPy - Statistical Functions
- NumPy - Descriptive Statistics
- NumPy Datetime
- NumPy - Basics of Date and Time
- NumPy - Representing Date & Time
- NumPy - Date & Time Arithmetic
- NumPy - Indexing with Datetime
- NumPy - Time Zone Handling
- NumPy - Time Series Analysis
- NumPy - Working with Time Deltas
- NumPy - Handling Leap Seconds
- NumPy - Vectorized Operations with Datetimes
- NumPy ufunc
- NumPy - ufunc Introduction
- NumPy - Creating Universal Functions (ufunc)
- NumPy - Arithmetic Universal Function (ufunc)
- NumPy - Rounding Decimal ufunc
- NumPy - Logarithmic Universal Function (ufunc)
- NumPy - Summation Universal Function (ufunc)
- NumPy - Product Universal Function (ufunc)
- NumPy - Difference Universal Function (ufunc)
- NumPy - Finding LCM with ufunc
- NumPy - ufunc Finding GCD
- NumPy - ufunc Trigonometric
- NumPy - Hyperbolic ufunc
- NumPy - Set Operations ufunc
- NumPy Useful Resources
- NumPy - Quick Guide
- NumPy - Cheatsheet
- NumPy - Useful Resources
- NumPy - Discussion
- NumPy Compiler
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]]