如何使用高級 NumPy 技術高效索引數組?

Linda Hamilton
發布: 2024-11-16 15:51:03
原創
844 人瀏覽過

How to Efficiently Index Arrays with Advanced NumPy Techniques?

使用高級NumPy 技術對數組進行索引

在各種計算場景中,有必要根據一個數組的值對另一個數組進行索引。考慮我們有兩個矩陣的範例:任意值的 A 和包含索引的 B。目標是從 A 中選擇由 B 中的索引決定的值。

為了實現此目的,NumPy 提供了不同的索引方法:

1.高級索引:

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

此索引方法使用np.arange 初始化一個新數組,為每行建立列索引。然後,它使用這些行索引作為第一個維度,使用B 中的值作為第二個維度,從A.

2 中提取值。線性索引:

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

或者,您可以使用線性索引,其中 mn 表示 A 的形狀。它使用np.take 根據組合數組B 以及將nnp.arange 中的行索引相乘創建的索引偏移量來選擇元素.

以上是如何使用高級 NumPy 技術高效索引數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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