如何有效率地取代 NumPy 陣列中的高值元素?

Patricia Arquette
發布: 2024-10-25 07:47:28
原創
705 人瀏覽過

How to Efficiently Replace High-Value Elements in NumPy Arrays?

高效率替換NumPy 陣列中的高值元素

問題:

在二維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>
登入後複製

優點:

  • 簡潔: Fancy 索引解決方案非常簡潔,只需要一行程式碼。
  • 效率:它比 for 迴圈方法快得多。
  • 清晰度:文法簡單易懂。

以上是如何有效率地取代 NumPy 陣列中的高值元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!