擅长:python、mysql、java
<p>这里是一个完整的解决方案,其中平均值也考虑到当前值:</p>
<pre><code>import random
import numpy as np
data = []
for i in range(0, 200):
value = random.randrange(100)
avg10 = np.average([x['value'] for x in data[-min(len(data), 10):]] + [value])
data += [{'value': value, 'avg10': avg10}]
</code></pre>
<p>基本上,<a href="https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.average.html" rel="nofollow noreferrer">^{<cd1>}</a>接受包含要平均的数据的数组,因此字典列表需要使用<a href="https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions" rel="nofollow noreferrer">list comprehensions</a>转换为平面列表。对于范围,<code>-min(len(data), 10):</code>用于获取最后10个或更少的项目,具体取决于<code>data</code>的当前大小。在</p>
<hr/>
<p>为了更容易理解上面的示例,下面是更简单的帮助程序代码:</p>
^{pr2}$