问题:
在二维 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中文网其他相关文章!