
- 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 - Swapping Axes of Arrays
Swapping Axes of Arrays in NumPy
Swapping axes in NumPy allows you to change the order of dimensions in an array. You can swap axes of an array in NumPy using the swapaxes() function and the transpose() function.
In NumPy, an array can have multiple dimensions, and each dimension is referred as an axis. For example, a 2D array (matrix) has two axes: the rows and the columns. In a 3D array (tensor), there are three axes: depth, height, and width.
- Axis 0 refers to the first dimension (often rows).
- Axis 1 refers to the second dimension (often columns).
- Axis 2 refers to the third dimension, and so on
Using swapaxes() Function
The np.swapaxes() function in NumPy allows you to swap two specified axes of an array. This function is particularly useful when you need to reorganize the structure of an array, such as switching rows and columns in a 2D array or reordering the dimensions in a multi-dimensional array.
This function does not create a copy of the data but rather returns a new view of the array with the specified axes swapped. It does not involve duplicating the array's data in memory.
Following is the syntax of the swapaxes() function −
numpy.swapaxes(arr, axis1, axis2)
Where,
- arr is the input array.
- axis1 is the first axis to be swapped.
- axis2 is the second axis to be swapped.
Example
In the following example, we are swapping the rows and columns in a 2D array using the swapaxes() function in NumPy −
import numpy as np # Creating a 2D array arr = np.array([[1, 2, 3], [4, 5, 6]]) # Swapping axes 0 and 1 (rows and columns) swapped = np.swapaxes(arr, 0, 1) print("Original Array:") print(arr) print("\nArray After Swapping Axes:") print(swapped)
Following is the output obtained −
Original Array: [[1 2 3] [4 5 6]] Array After Swapping Axes: [[1 4] [2 5] [3 6]]
Using the transpose() Function
We can also use the transpose() function to swap axes of arrays in NumPy. Unlike the swapaxes() function, which swaps two specific axes, the transpose() function is used to reorder all axes of an array according to a specified pattern.
Following is the syntax of the transpose() function −
numpy.transpose(a, axes=None)
Where,
- a is the input array whose axes you want to reorder.
- axes is a tuple or list specifying the desired order of axes. If axes is None, it reverses the order of the axes.
Example: Matrix Transposition
Matrix transposition is an operation where rows and columns of a 2D array are swapped −
import numpy as np # Creating a 2D array (matrix) arr = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing the matrix transposed = np.transpose(arr) print("Original Array:") print(arr) print("\nTransposed Array:") print(transposed)
This will produce the following result −
Original Array: [[1 2 3] [4 5 6]] Transposed Array: [[1 4] [2 5] [3 6]]
Example: Reordering Axes in a 3D Array
Here, we are using the transpose() function to reorder dimensions in multi-dimensional arrays −
import numpy as np # Creating a 3D array arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) # Transposing with custom axis order transposed = np.transpose(arr, (1, 0, 2)) print("Original Array Shape:", arr.shape) print("Transposed Array Shape:", transposed.shape) print("\nTransposed Array:") print(transposed)
This will produce the following result −
Original Array Shape: (2, 2, 2) Transposed Array Shape: (2, 2, 2) Transposed Array: [[[1 2] [5 6]] [[3 4] [7 8]]]