使用高級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])
或者,您可以使用線性索引,其中 m 和 n 表示 A 的形狀。它使用np.take 根據組合數組B 以及將n 與np.arange 中的行索引相乘創建的索引偏移量來選擇元素.
以上是如何使用高級 NumPy 技術高效索引數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!