NumPy swapaxes() 函式



NumPy 的swapaxes() 函式交換陣列的兩個指定軸,這實際上是重新排序其維度。

此函式用於將資料轉置到不同的方向,而無需更改底層資料。例如,給定一個形狀為 (2, 3, 4) 的陣列,呼叫 swapaxes(arr, 0, 2) 將得到一個形狀為 (4, 3, 2) 的陣列。

此函式需要三個引數,即要修改的陣列以及要交換的兩個軸索引。返回的陣列是原始陣列的檢視,因此不會複製資料,這使得它對於大型資料集非常高效。

語法

NumPy swapaxes() 函式的語法如下所示:

numpy.swapaxes(a, axis1, axis2)

引數

以下是 NumPy swapaxes() 函式的引數:

  • a : 您要交換軸的輸入陣列。
  • axis1 : 要交換的第一個軸。
  • axis2 : 要交換的第二個軸。

返回值

此函式返回輸入陣列的檢視,其中交換了指定的軸。資料不會被複制,只會更改檢視。

示例 1

以下是 NumPy swapaxes() 函式的示例,它交換二維陣列的行和列:

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)

輸出

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

示例 2

此示例透過相應地修改其形狀來交換四維陣列的第二個和第三個軸。

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)

輸出

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

示例 3

以下是如何使用swapaxes() 函式在三維 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)

輸出

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
廣告