問題陳述:
給定一個矩陣和一個滾動值:
A = np.array([[4, 0, 0], [1, 2, 3], [0, 0, 5]]) r = np.array([2, 0, -1]) expected_result = np.array([np.roll(row, x) for row,x in zip(A, r)]) # [[0 0 4] # [1 2 3] # [0 5 0]]
給定一個矩陣和一個滾動值:
給定一個矩陣和一個滾動值:<code class="python">import numpy as np rows, column_indices = np.ogrid[:A.shape[0], :A.shape[1]] # Ensure negative shift to keep column_indices valid r[r < 0] += A.shape[1] column_indices = column_indices - r[:, np.newaxis] result = A[rows, column_indices]</code>
給定一個矩陣和一個滾動值數組,任務是根據對應的滾動值獨立滾動矩陣的每一行。例如:
以上是如何使用高級 Numpy 索引高效滾動矩陣行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!