我认为这是一个相对容易的问题,因为我知道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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句