Val*_*acé 3 python arrays numpy python-3.x numpy-ndarray
我认为这是一个相对简单的问题,因为我知道 numpy 中有一个简单的答案,但我再也找不到了。
我有一个 numpy 数组,说 [1, 2, 10, 5, 6, 12, 9, 9, 8]
我想从头到尾遍历它并只保留迄今为止看到的最大值,例如答案是 [1, 2, 10, 10, 10, 12, 12, 12, 12]
使用单个循环很容易解决,但前段时间我了解了一个 numpy 函数,它可以快速完成工作并且也很紧凑。我正在寻找这种方法。
谢谢 !
您可以使用numpy.ufunc.accumulate, 来累积应用函数的结果,maximum在这种情况下,是在所有元素上:
a = np.array([1, 2, 10, 5, 6, 12, 9, 9, 8])
np.maximum.accumulate(a)
# array([ 1, 2, 10, 10, 10, 12, 12, 12, 12], dtype=int32)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |