首頁  >  文章  >  後端開發  >  NumPy 的 Reshape 函數中「-1」值的意義和用法是什麼?

NumPy 的 Reshape 函數中「-1」值的意義和用法是什麼?

Barbara Streisand
Barbara Streisand原創
2024-10-20 22:13:30473瀏覽

What is the Meaning and Usage of the '-1' Value in NumPy's Reshape Function?

了解 NumPy 的重塑函數中的「-1」值

NumPy 的重塑函數允許您轉換多維數組的形狀。在指定新形狀時,「-1」值通常用作佔位符,但其解釋與 array[-1] 作為最後一個元素的典型含義不同。

在 reshape 的上下文中,「 -1」表示未知尺寸。此函數將根據陣列的現有形狀和指定的其他維度自動決定此維度。涉及的關鍵原則是新形狀必須與原始形狀相容。

為了更好地理解「-1」的工作原理,請考慮以下範例:

在本例中, a 的形狀為 (2, 4)。透過使用 reshape(-1),我們將陣列展平為一維數組。新形狀變為 (8,),與原始形狀 (2x4 = 8) 相容。

現在,讓我們來探索使用「-1」重塑陣列的不同方式:

重塑為單一特徵:

要將陣列重塑為具有單一特徵(即單一列)的形式,我們可以使用reshape(-1, 1):

這將產生(8, 1) 的形狀,其中每個元素都是原始數組中的一行。

重塑為單一樣本:

類似地,要將陣列重塑為具有單一樣本(即單行)的形式,我們可以使用reshape(1, -1):

這將產生(1, 8) 的形狀,其中每個元素都是原始數組中的一列。

使用未知維度重塑:

如果我們只指定一個維度如果為“-1”,該函數將根據原始形狀和提供的維度計算未知維度:

在此範例中,我們將行數指定為2。此函數將計算列數為 6,得到的形狀為 (2, 6)。

未知多個維度的錯誤:

需要注意的是,指定多個維度因為「-1」會導致錯誤,因為函數只能處理一個未知維度:

這將產生錯誤訊息「只能指定一個未知維度。」

以上是NumPy 的 Reshape 函數中「-1」值的意義和用法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn