The numpy.full_like() function in NumPy is designed to create a new array with the same shape and data type as a given input array with all elements set to a specified fill value. This function is beneficial when we want to initialize an array with a constant value and want the new array to have the same shape and data type as an existing array.
The numpy.full_like() function is further detailed through each of the following sections:
- Syntax of numpy.full_like() function
- Examples of numpy.full_like() function
- Difference between numpy.full() and numpy.full_like() function
Syntax of numpy.full_like() Function
The syntax is similar to numpy.zeros() but allows us to specify a fill value other than zero. It provides a convenient way to maintain consistency in array structure while initializing elements with a specific constant value.
Syntax:
numpy.full_like(a, fill_value, dtype=None, order='K', subok=True, shape=None)
Parameters:
- a: The input array whose shape and datatype will be used to create the new array.
- fill_value: The constant value to fill the array with.
- dtype (optional): The desired datatype for the new array. If not specified, the datatype of the input array is used.
- order (optional): Specifies the memory layout of the result. The default is ‘K, ‘ meaning the input array’s memory layout determines the order.
- subok (optional): If True, sub-classes will be passed through. If False, the returned array will always be a base-class array.
- shape (optional): Deprecated parameter. If present, it overrides the shape of the input array.
Return:
A new array with the same shape and data type as the input array, filled with the specified constant value.
Examples of numpy.full_like() Function
Let us now look at some examples to demonstrate the use of numpy.full_like() function in Python.
Example 1: Creating a 1-D Array Filled with Constant Value Using numpy.full_like() function
Let’s start by passing the one-dimensional array with a fill_value which is a constant value that will present in the output array.
import numpy as np
A = np.array([2,45,11,6])
B=np.full_like(A,7)
print("Input Array: ",A)
print("Output Array: ",B)
Here we first imported the NumPy library as np then using it we created a one-dimensional array and saved it into a variable called A. Then we passed the array A with a constant value of 7 into the numpy.full_like() function which means we will get a new array of the same shape and data type as array A where 7 will be written at each position in the new array created.
Output:
We got a one-dimensional array where 7 is a constant value at each position in the output array with the same shape and integer data type as array A.
Example 2: Creating a 3-D Array Filled with Negative Value and Integer Data Type
In this example we will try to create a three-dimensional array where the constant value will be negative, with this we will also try to change the default data type to an integer data type as by default the data type of the output array is the same as the data type of the input array.
import numpy as np
from numpy import random
C=np.random.randn(2,3,4)
D=np.full_like(C,-71,dtype=int)
print("Input Array: ",C)
print("Output Array: ",D)
Here we have additionally imported the random module from the NumPy library so that we can create a three-dimensional random array using the randn function. Inside the np.full_like function, we passed a negative constant value -71 with this random array C and dtype as int to convert the data type of the output array from float to integer.
Output:
We can see that the input array C is of data type float and the output array data type got changed to an integer.
Difference Between numpy.full() and numpy.full_like() Functions
The numpy.full() function creates a new array with a specified shape and fills it with a constant value (fill_value) while the numpy.full_like() function creates a new array with the same shape and data type as the input array and fills it with a constant value (fill_value).
The numpy.full() function requires us to explicitly specify the shape of the new array while numpy.full_like() uses the shape and data type of the input array to create a new array.
Now when we talk about the shape specification, the numpy.full() function directly takes the shape as its first parameter while numpy.full_like() function extracts the shape from the input array but allows us to override it using the shape parameter as well.
Summary
In this tutorial, we have discussed numpy.full_like() function provided by Python’s NumPy library. We have explored how to create a single and multi-dimensional full array using numpy.full_like() function. With this, we have also understood the difference between numpy.full() function and numpy.full_like() function. CodeForGeek has many other entertaining and equally informative articles that can be of great help to those who want to advance in Python, so be sure to check them out as well.
Reference
https://numpy.org/doc/stable/reference/generated/numpy.full_like.html