問題:
在二維NumPy 陣列中,您想要用特定值(例如x = 255)取代大於閾值(例如T = 255)的值。傳統方法涉及耗時的 for 迴圈。
解決方案:
NumPy 提供了一種簡潔高效的解決方案,無需明確循環。透過利用 Fancy 索引,您可以輕鬆執行替換操作:
<code class="python">arr[arr > 255] = x</code>
這一行程式碼將數組中滿足條件(> 255)的所有元素替換為指定值(x)。
效能:
Fancy 索引方法明顯快於 for 迴圈方法,如計時測量所示。對於500 x 500 隨機矩陣,使用Fancy 索引將大於0.5 的值替換為5 平均需要7.59 毫秒:
<code class="python">import numpy as np A = np.random.rand(500, 500) %timeit A[A > 0.5] = 5</code>
優點:
以上是如何有效率地取代 NumPy 陣列中的高值元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!