numpy.multiply() in Python (original) (raw)
Last Updated : 17 Apr, 2025
The numpy.multiply()
is a numpy function in Python which is used to find element-wise multiplication of two arrays or scalar (single value). It returns the product of two input array element by element.
**Syntax:
numpy.multiply(arr1, arr2, out=None, where=True, casting=’same_kind’, order=’K’, dtype=None, subok=True)
**Parameters:
arr1
(array_like or scalar): First input array.arr2
(array_like or scalar): Second input array.dtype
(optional): Desired type of the returned array. By default dtype ofarr1
is used.out
(optional, ndarray): A location where result is stored. If not provided a new array is created.where
(optional, array_like): A condition to find where multiplication should happen. IfTrue
multiplication occurs at that position and ifFalse
value in output remains unchanged.
**Return: ndarray
(El
ement-wise product of arr1
and arr2
).
Example 1: Multiplying a Scalar with a scalar
- **out_num = geek.multiply(in_num1, in_num2): Multiplies
in_num1
andin_num2
using **multiply
**and stores the result inout_num
. Python `
import numpy as geek in_num1 = 4 in_num2 = 6 print ("1st Input number : ", in_num1) print ("2nd Input number : ", in_num2) out_num = geek.multiply(in_num1, in_num2) print ("output number : ", out_num)
`
**Output:
Multiplying a Scalar with a scalar
**Example 2: Multiplying a Scalar with an Array
When one of the inputs is a scalar it is multiplied with each element of the array. This operation is commonly used for scaling or adjusting values in an array. Here Scalar value 5
is multiplied with each element 1,2,3.
Python `
import numpy as geek in_arr = geek.array([1, 2, 3]) scalar_value = 5
result_arr = geek.multiply(in_arr, scalar_value) print(result_arr)
`
**Output:
[ 5 10 15]
**Example 3: Element-wise Multiplication of Arrays
When both inputs are arrays of the same shape numpy.multiply()
multiplies corresponding elements together. This operation is performed element by element.
Python `
import numpy as geek in_arr1 = geek.array([[2, -7, 5], [-6, 2, 0]]) in_arr2 = geek.array([[0, -7, 8], [5, -2, 9]]) print ("1st Input array : ", in_arr1) print ("2nd Input array : ", in_arr2) out_arr = geek.multiply(in_arr1, in_arr2) print ("Resultant output array: ", out_arr)
`
**Output
Multiplying a Scalar with an Array
In above example corresponding elements from in_arr1
and in_arr2
are multiplied:
- 2 * 0 = 0
- -7 * -7 = 49
- 5 * 8 = 40
- -6 * 5 = -30
- 2 * -2 = -4
- 0 * 9 = 0
**Example 4: Multiplying Arrays with Different Shapes (Broadcasting)
numpy.multiply()
supports broadcasting which means it can multiply arrays with different shapes as long as they are compatible for broadcasting rules.
Python `
import numpy as geek in_arr1 = geek.array([1, 2, 3]) in_arr2 = geek.array([[4], [5], [6]])
result_arr = geek.multiply(in_arr1, in_arr2) print(result_arr)
`
**Output:
Arrays with Different Shapes
In this example in_arr1
is broadcasted to match the shape of in_arr2
for element-wise multiplication.
**To understand broadcasting you can refer to this article: NumPy Array Broadcasting
**Example 5: Using out
Parameter
We can specify an output array where result of the multiplication will be stored. This avoids creating a new array and can help save memory when working with large datasets.
Python `
import numpy as geek in_arr1 = geek.array([1, 2, 3]) in_arr2 = geek.array([4, 5, 6]) output_arr = geek.empty_like(in_arr1) geek.multiply(in_arr1, in_arr2, out=output_arr) print(output_arr)
`
**Output:
[ 4 10 18]
Result of element-wise multiplication is stored in output_arr
instead of creating a new array. By mastering numpy.multiply()
we can efficiently handle element-wise multiplication across arrays and scalars.