<p><strong>编辑</strong></p>
<p>我原来的帖子不是最好的解释,所以我重写了它。在</p>
<p>所以我要做的是计算一组数据的移动平均值。取每个平均值,例如24个值。
但是,我有两个条件需要在当前函数中更改。在</p>
<ul>
<li>取一个超过24个不为零的值的平均值,因为零被认为是坏数据,所以我想要24个“好”值作为平均值。在</li>
<li>如果有五个<strong>连续的</strong>0,我不想取平均值,简单地说平均值是零。在</li>
</ul>
<p>我需要
这是我当前的函数,但它需要更新以包含这些更改。在</p>
<pre><code>def averaged_rel_track(navg, rel_values, nb):
'''function to average the relative track values for each blade. This is
dependant on the number values specified by the user to average over in a
rolling average'''
avg_rel_track=[]
for blade in range(0,int(nb)):
av_values=[]
rel_blade=rel_values[:,int(blade)]
for rev in range(0,len(rel_blade)):
section=rel_blade[rev-int(navg)+1:rev+1]
print section
if np.any(section==0):
av_value=0
else:
av_value=np.sum(section)/int(navg)
print av_value
av_values.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(av_value)
avg_rel_track.append(av_values)
avg_rel_track=np.array(avg_rel_track)
return avg_rel_track.transpose()
</code></pre>
<p>目前有很多检查工作要做。在</p>
<p>是否有一个函数可以选择X个非零/无的值?目前我尝试的工作是这样的:</p>
^{pr2}$
<p>但这不起作用,因为我需要检查新的部分不包含零,它会检测到原始的零。我可以检查扩展名中的0,重复这个过程,但这似乎是一个非常冗长的方法。在</p>
<p>我知道<code>scipy.stats.nanmean</code>在对数据求平均值时会忽略none值。在</p>
<p>如果有人能帮上忙那就太好了,但我想要的主要问题是:</p>
<blockquote>
<p>Is there a function that will select N values that are not zero or one?</p>
</blockquote>