1
데이터 집합에서 이동 평균을 계산하는 함수를 만들려고합니다. 이 기능입니다 : 내가 좋아하는 것 그러나파이썬에서 데이터에 0이 포함되어있는 경우 평균을 무시합니다.
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
가에 수표를 추가하고 내가 하면 ...이를 구현하는 가장 좋은 방법은 기호와 strugging있어 이동 평균의 평균 수 (navg
) 예를 들어 24라고하면 지정된 요소와 요소 앞에있는 23 개의 값 중 평균을 취합니다. 그러나 24 값 중 하나가 0 인 경우 해당 지정된 요소의 평균을 0으로 원합니다. 나는 시도했다 :
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입니까?
누구나이 방법이나 다른 방법을 모두 수정하는 방법을 생각할 수 있습니까? @Mr E의 의견에 따라
건배
이것이 다소 혼란 스럽지만 더 많은 explination을 제공하는 것이 더 행복하다는 것을 알고 있습니다. –
효율적인 이동 평균 계산의 예를 보려면 여기를 참조하십시오. http://stackoverflow.com/questions/11352047/finding-moving-average-from-data -point-in-python – YXD
나는 당신이 무엇을하려고하는지 잘 이해하지 못합니다. 그러나'zero_test'와 관련된 모든 줄을 if if np.any (section == 0)로 대체해야합니다 :' – YXD