是否有优雅的方法或函数来计算列表中最后X个元素的平均值?
我有一个列表register
,它在每次迭代时都会增加:
register = np.append(register, value)
我想创建另一个列表,其中i
元素对应X
register
个最后元素的平均值
register_mean[i] = np.mean(register[i-X:i])
当X
中还没有X
值时,棘手的部分是第一次register
次迭代。对于这些特定情况,我希望计算register
的第一个值的平均值,并且仅将register
的第一个值作为register_mean
的第一个值。
这可以在迭代期间或之后,register
完成时完成。
我知道有很多类似的问题,但找不到回答这个特殊问题的问题
答案 0 :(得分:2)
它可能像
那样简单if X < i:
register_mean[i] = np.mean(register[:i])
除了你有足够的平均X点
之外,这只是平均数也许我误解了你的意图!
答案 1 :(得分:0)
如果我理解你的问题,这应该做的工作:
List<WebElement> el = driver.findElementsByClassName("classB");
它基本上会在X = 4 # Span of mean
register_mean = [np.mean(register[max(i-X, 0): max(i-X, 0) + 1]) for i in range(len(register))]
和register
之间创建i - X
元素的移动平均值;但是,只要i
为负数,它只会采用i - X
和0
之间的值。