一、np轉置的定義和用途
在 numpy 中的 ndarray 數據結構中,我們可以使用 T 屬性(轉置)將數組進行轉置,該屬性操作非常快速和經濟,對於不同的任務和計算,這種屬性非常有用,它可以在某些情況下代替複製整個數組,從而節省內存和計算時間。
針對二維數組,它通過將行和列交換來完成轉置。對於具有多個軸的數組,我們可以指定需要交換的軸的編號,來使原數組沿指定軸進行翻轉。
numpy 中轉置的主要作用是改變矩陣的形狀(行列互換),同時也方便後續的計算,例如矩陣乘法等。
二、np轉置的使用示例
在 numpy 中,轉置操作實現非常簡單,只需要使用 ndarray 對象的 T 屬性即可。
import numpy as np
arr = np.array([[1, 2], [3, 4]])
transpose_arr = arr.T
print("轉置前的數組:")
print(arr)
print("轉置後的數組:")
print(transpose_arr)
上述代碼輸出結果為:
轉置前的數組:
[[1 2]
[3 4]]
轉置後的數組:
[[1 3]
[2 4]]
上述代碼中,通過 ndarray 對象的 T 屬性,我們將輸入數組 arr 進行了轉置操作,並且得到了轉置後的數組 transpose_arr。
三、np轉置的高級操作
1. 沿指定軸進行轉置操作
除了使用 T 屬性來對二維數組進行轉置之外,numpy 中還可以通過指定軸的編號來沿指定軸進行轉置,達到更高級的操作效果。
import numpy as np
arr = np.array([[[0, 1],
[2, 3]],
[[4, 5],
[6, 7]],
[[8, 9],
[10, 11]]])
transpose_arr = np.transpose(arr, (1, 0, 2))
print("轉置前的數組:")
print(arr)
print("轉置後的數組:")
print(transpose_arr)
上述代碼輸出結果為:
轉置前的數組:
[[[ 0 1]
[ 2 3]]
[[ 4 5]
[ 6 7]]
[[ 8 9]
[10 11]]]
轉置後的數組:
[[[ 0 1]
[ 4 5]
[ 8 9]]
[[ 2 3]
[ 6 7]
[10 11]]]
上述代碼中,我們將原始數組 arr 沿軸 0、1 和 2 進行了轉置,也就是沿着指定的軸,調換了數組的形狀和順序。
2. 使用 np.swapaxes 進行轉置
除了使用 np.transpose 方法進行轉置之外,numpy 還可以使用 np.swapaxes 函數來對數組進行交換指定軸的操作。
import numpy as np
arr = np.array([[[0, 1],
[2, 3]],
[[4, 5],
[6, 7]],
[[8, 9],
[10, 11]]])
transpose_arr = np.swapaxes(arr, 1, 2)
print("轉置前的數組:")
print(arr)
print("轉置後的數組:")
print(transpose_arr)
上述代碼輸出結果為:
轉置前的數組:
[[[ 0 1]
[ 2 3]]
[[ 4 5]
[ 6 7]]
[[ 8 9]
[10 11]]]
轉置後的數組:
[[[ 0 2]
[ 1 3]]
[[ 4 6]
[ 5 7]]
[[ 8 10]
[ 9 11]]]
上述代碼中,我們使用 np.swapaxes 函數將 arr 數組的第 1 和第 2 個軸進行了交換,實現了一個高級的數組轉置操作,得到了 transpose_arr 數組。
四、總結
轉置是 numpy 中一個非常重要的數組操作,它可以對數組進行高效和經濟的變換,有助於我們優化代碼並提高程序的效率。在使用 numpy 進行數據分析和科學計算時,掌握轉置操作的技能是非常重要的,也是值得深入探究的一個方向。
原創文章,作者:HIQOK,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/334277.html