首頁 > 後端開發 > Python教學 > 如何在 NumPy 中索引多個數組?

如何在 NumPy 中索引多個數組?

Patricia Arquette
發布: 2024-11-10 00:34:02
原創
1047 人瀏覽過

How to Index Multiple Arrays in NumPy?

在 NumPy 中索引多個數組

在 NumPy 中,超出一維數組的索引需要高級技術。一種情況是根據另一個陣列的值對一個陣列進行索引,稱為多維索引。

考慮任意值的矩陣A

array([[ 2, 4, 5, 3],
       [ 1, 6, 8, 9],
       [ 8, 7, 0, 2]])
登入後複製

和矩陣B 包含元素索引A:

array([[0, 0, 1, 2],
       [0, 3, 2, 1],
       [3, 2, 1, 0]])
登入後複製

要用B中的索引從A 中選擇值,您可以使用NumPy 的高級索引:

A[np.arange(A.shape[0])[:,None],B]
登入後複製

這種索引方法將行索引(0, 1, 2) 與索引結合B中指定。

或者,您可以使用線性索引:

m,n = A.shape
out = np.take(A,B + n*np.arange(m)[:,None])
登入後複製

這裡,m和n代表A中的行數和列數分別是。 np.take() 根據 B 和 n 總和乘以行索引範圍產生的線性索引從 A 中提取元素。

使用技術,輸出將是:

[[2, 2, 4, 5],
 [1, 9, 8, 6],
 [2, 0, 7, 8]]
登入後複製

此索引方法提供了基於多個存取和操作元素的靈活性標準,增強了NumPy 數組在複雜資料處理場景中的多功能性。

以上是如何在 NumPy 中索引多個數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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