I.P*_*ley 10 python arrays numpy
我想计算"累积最小值"数组 - 基本上,数组的最小值,直到每个索引,如:
import numpy as np
nums = np.array([5.,3.,4.,2.,1.,1.,2.,0.])
cumulative_min = np.zeros(nums.size, dtype=float)
for i,num in enumerate(nums):
cumulative_min[i] = np.min(nums[0:i+1])
Run Code Online (Sandbox Code Playgroud)
这工作(它返回正确的数组([5.,3.,3.,2.,1.,1.,1.,0.])),但如果我能,我想避免for循环.我认为构建一个二维数组并使用np.amin()函数可能会更快,但我也需要一个循环.
use*_*ica 26
对于任何2参数NumPy 通用函数,其accumulate方法是该函数的累积版本.因此,numpy.minimum.accumulate您正在寻找:
>>> numpy.minimum.accumulate([5,4,6,10,3])
array([5, 4, 4, 4, 3])
Run Code Online (Sandbox Code Playgroud)