Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Numpy swapaxes() Function



The Numpy swapaxes() function exchanges two specified axes of an array effect which are effectively reordering its dimensions.

This function is useful for transposing data to different orientations without changing the underlying data. For example, given an array with shape (2, 3, 4), calling swapaxes(arr, 0, 2) will result in an array with shape (4, 3, 2).

This function requires three parameters namely the array to be modified and the two axis indices to be swapped. The returned array is a view of the original array so no data is copied, making it efficient for large datasets.

Syntax

The syntax for the Numpy swapaxes() function is as follows −

numpy.swapaxes(a, axis1, axis2)

Parameters

Following are the parameters of the Numpy swapaxes() function −

  • a : The input array whose axes you want to swap.
  • axis1 : The first axis to swap.
  • axis2 : The second axis to swap.

Return Value

This function returns a view of the input array with the specified axes swapped. The data is not copied but only the view is changed.

Example 1

Following is the example of Numpy swapaxes() function which swaps the rows and columns of a 2D array −

import numpy as np

# Create a 2D array
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print("Original Array:\n", array_2d)

# Swap axes
swapped_array_2d = np.swapaxes(array_2d, 0, 1)
print("Swapped Axes Array:\n", swapped_array_2d)

Output

Original Array:
 [[1 2 3]
  [4 5 6]]
Swapped Axes Array:
 [[1 4]
  [2 5]
  [3 6]]

Example 2

Here this example swaps the second and third axes of a 4D array by modifying its shape accordingly.

import numpy as np

# Create a 4D array
array_4d = np.arange(24).reshape(2, 3, 4, 1)
print("Original Array shape:", array_4d.shape)

# Swap axes
swapped_array_4d = np.swapaxes(array_4d, 1, 2)
print("Swapped Axes Array shape:", swapped_array_4d.shape)

Output

Original Array shape: (2, 3, 4, 1)
Swapped Axes Array shape: (2, 4, 3, 1)

Example 3

Below is an example of how to use swapaxes() function to swap axes in a 3-dimensional ndarray −

import numpy as np

# Creating a 3-dimensional ndarray
a = np.arange(8).reshape(2, 2, 2)

print('The original array:')
print(a)
print('\n')

# Swapping numbers between axis 0 (along depth) and axis 2 (along width)
swapped_array = np.swapaxes(a, 2, 0)

print('The array after applying the swapaxes function:')
print(swapped_array)

Output

The original array:
[[[0 1]
  [2 3]]

 [[4 5]
  [6 7]]]


The array after applying the swapaxes function:
[[[0 4]
  [2 6]]

 [[1 5]
  [3 7]]]
numpy_array_manipulation.htm
Advertisements