轉置一維NumPy 數組:一個令人驚訝的簡單解
許多程式設計師在嘗試轉置一維NumPy 數組時會遇到困惑。讓我們深入研究這個問題並找出令人驚訝的簡單解決方案。
在 NumPy 中,.T 表示的轉置運算會交換陣列的維度。但是,如果數組是一維的,則轉置後其形狀保持不變。對於那些期望得到 2D 數組結果的人來說,這可能會令人困惑。
為了說明這一點,請考慮以下程式碼:
import numpy as np a = np.array([5, 4]) print(a) print(a.T)
輸出將為:
[5 4] [5 4]
如您所見,轉置一維數組a 不會產生形狀變化。這是因為一維數組轉置後仍然是一維數組。
解決方案是在轉置之前將一維數組轉換為二維數組。這可以使用np.newaxis 函數來實現,該函數本質上是在數組中插入一個新軸:
a = np.array([5, 4])[np.newaxis] print(a) print(a.T)
輸出現在變成:
[[5 4]] [[5] [4]]
一維數組a已經是成功轉換為二維數組,並轉置它會產生所需的結果。
需要注意的是,在大多數情況下,不需要手動將一維數組轉換為二維數組進行轉置。 NumPy 在執行各種操作時會自動廣播一維數組,無需擔心維度。
以上是為什麼轉置一維 NumPy 數組不會改變其形狀?的詳細內容。更多資訊請關注PHP中文網其他相關文章!