首頁 > 後端開發 > Python教學 > 為什麼轉置一維 NumPy 數組不會改變其形狀?

為什麼轉置一維 NumPy 數組不會改變其形狀?

Mary-Kate Olsen
發布: 2024-11-10 13:16:02
原創
916 人瀏覽過

Why Doesn't Transposing a 1D NumPy Array Change Its Shape?

轉置一維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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板