
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Apply the ufunc.outer Function to All Pairs in NumPy
Apply the ufunc outer() function to all pairs. The numpy.ufunc has functions that operate element by element on whole arrays. The ufuncs are written in C (for speed) and linked into Python with NumPy's ufunc facility. A universal function (or ufunc for short) is a function that operates on ndarrays in an element-by-element fashion, supporting array broadcasting, type casting, and several other standard features. That is, a ufunc is a "vectorized" wrapper for a function that takes a fixed number of specific inputs and produces a fixed number of specific outputs.
Steps
At first, import the required library −
import numpy as np
Create two arrays −
arr1 = np.array([[5, 10, 15, 20], [25, 30, 35, 40]]) arr2 = np.array([[7, 14, 21, 28, 35]])
Display the arrays −
print("Array 1...
", arr1) print("
Array 2...
", arr2)
Get the type of the arrays −
print("
Our Array 1 type...
", arr1.dtype) print("
Our Array 2 type...
", arr2.dtype)
Get the dimensions of the Arrays −
print("
Our Array 1 Dimensions...
",arr1.ndim) print("
Our Array 2 Dimensions...
",arr2.ndim)
Get the shape of the Arrays −
print("
Our Array 1 Shape...
",arr1.shape) print("
Our Array 2 Shape...
",arr2.shape)
Apply the ufunc outer() function to all pairs −
res = np.multiply.outer(arr1, arr2) print("
Result...
",res) print("
Shape...
",res.shape)
Example
import numpy as np # The numpy.ufunc has functions that operate element by element on whole arrays. # ufuncs are written in C (for speed) and linked into Python with NumPy's ufunc facility # Create two arrays arr1 = np.array([[5, 10, 15, 20], [25, 30, 35, 40]]) arr2 = np.array([[7, 14, 21, 28, 35]]) # Display the arrays print("Array 1...
", arr1) print("
Array 2...
", arr2) # Get the type of the arrays print("
Our Array 1 type...
", arr1.dtype) print("
Our Array 2 type...
", arr2.dtype) # Get the dimensions of the Arrays print("
Our Array 1 Dimensions...
",arr1.ndim) print("
Our Array 2 Dimensions...
",arr2.ndim) # Get the shape of the Arrays print("
Our Array 1 Shape...
",arr1.shape) print("
Our Array 2 Shape...
",arr2.shape) # Apply the ufunc outer() function to all pairs res = np.multiply.outer(arr1, arr2) print("
Result...
",res) print("
Shape...
",res.shape)
Output
Array 1... [[ 5 10 15 20] [25 30 35 40]] Array 2... [[ 7 14 21 28 35]] Our Array 1 type... int64 Our Array 2 type... int64 Our Array 1 Dimensions... 2 Our Array 2 Dimensions... 2 Our Array 1 Shape... (2, 4) Our Array 2 Shape... (1, 5) Result... [[[[ 35 70 105 140 175]] [[ 70 140 210 280 350]] [[ 105 210 315 420 525]] [[ 140 280 420 560 700]]] [[[ 175 350 525 700 875]] [[ 210 420 630 840 1050]] [[ 245 490 735 980 1225]] [[ 280 560 840 1120 1400]]]] Shape... (2, 4, 1, 5)