一連のデータの移動平均を計算する関数を作成しようとしています。これは機能です:
def averaged_rel_track(navg, rel_values, nb, zeroindex):
#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
for blade in range(0,int(nb)):
av_values=[]
rel_blade=rel_values[:,blade]
for rev in range(0,len(rel_blade)):
section=rel_blade[rev-int(navg)+1:rev]
av_value=np.mean(section)
av_values.append(av_value)
print av_values
ただし、チェックを追加したいので、これを実装する最良の方法に苦労しています...navg
移動平均の平均数 ( ) が 24 の場合、指定された要素と要素。ただし、これらの 24 個の値のいずれかがゼロの場合、その指定された要素の平均をゼロにしたいと考えています。私は試した:
def averaged_rel_track(navg, rel_values, nb, zeroindex):
#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
for blade in range(0,int(nb)):
av_values=[]
rel_blade=rel_values[:,blade]
for rev in range(0,len(rel_blade)):
section=rel_blade[rev-int(navg)+1:rev]
av_value=np.mean(section)
zero_test= np.where(np.any(section==0))
print zero_test
if len(zero_test)==0:
av_value=None
av_values.append(av_value)
print av_values
しかし、zero_test の長さは常に 1 ですか?
この方法または別の方法を完全に修正する方法を考えられる人はいますか?
乾杯