首頁 >後端開發 >Python教學 >如何使用高級 NumPy 技術高效索引數組?

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

Linda Hamilton
Linda Hamilton原創
2024-11-16 15:51:03917瀏覽

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

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