首頁 >後端開發 >Python教學 >如何使用另一個數組的索引從二維數組中提取元素?

如何使用另一個數組的索引從二維數組中提取元素?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-09 11:40:021065瀏覽

How to Extract Elements from a 2D Array Using Indices from Another Array?

使用NumPy 數組作為另一個數組第二維的索引

根據數組提供的索引從2D 數組中提取特定元素第二個數組,您可以利用NumPy的整數陣列

考慮這個範例:

A = np.array([[0,1], [2,3], [4,5]])
B = np.array([[1], [0], [1]], dtype='int')

要得到以下所需的輸出:

C = np.array([[1], [2], [5]])

您可以使用以下方法:

A[np.arange(A.shape[0]),B.ravel()]

怎麼樣有效:

  • np.arange(A.shape[0]) 建立一個包含 A 每一行索引的陣列。
  • B.ravel() 展平 B,刪除任何附加維度。
  • 組合索引數組 [np.arange(A.shape[0]),B.ravel()] 指定要提取 A 中的行和列索引。

或者,如果B 是一維數組或列索引列表,則可以使用.ravel() 跳過展平:

A[np.arange(A.shape[0]),B]

此方法提供了一種使用從另一個數組派生的索引從2D 數組中提取元素的簡單方法。

以上是如何使用另一個數組的索引從二維數組中提取元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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