擅长:python、mysql、java
<p>我猜你用了<a href="http://www.swharden.com/blog/2008-11-17-linear-data-smoothing-in-python/" rel="nofollow">here</a>的代码。您应该注意,代码是针对单个维度数据点的,而不是针对多维数据点的。</p>
<p>我不太了解高斯平滑算法,但在简要浏览了您的代码之后,我相信下面是您要做的(我不确定它是否能给您想要的结果)。用以下代码替换代码的最后一部分:</p>
<pre><code>smoothed=[0.0,0.0]*(len(list1)-window)
print smoothed
for i in range(len(smoothed)):
smoothing=[0.0,0.0]
for e,w in zip(list1[i:i+window],weight):
smoothing=smoothing+numpy.multiply(e,w)
smoothed[i]=smoothing/sum(weight)
</code></pre>