için bir pythonic yolu, bazı işlevlerin çalışan bir ortalama içeren bir liste oluşturuyor mu?Python'da ortalama çalışma
Martians, black boxes, and the Cauchy distribution hakkında eğlenceli küçük bir parça okuduktan sonra Cauchy dağılımı kendim bir hareketli ortalamasını hesaplamak için eğlenceli olacağını düşündüm:
import math
import random
def cauchy(location, scale):
p = 0.0
while p == 0.0:
p = random.random()
return location + scale*math.tan(math.pi*(p - 0.5))
# is this next block of code a good way to populate running_avg?
sum = 0
count = 0
max = 10
running_avg = []
while count < max:
num = cauchy(3,1)
sum += num
count += 1
running_avg.append(sum/count)
print running_avg # or do something else with it, besides printing
Ben bu yaklaşım işe yaradığını düşünüyorum, ama eğer merak ediyorum running_avg
listesini oluşturmak için döngüler ve sayıcılar kullanmaktan daha şık bir yaklaşım olabilir (örn. list comprehensions).
bazı ilgili soru vardır, ancak bunlar daha karmaşık problemleri (küçük pencere boyutu, üstel ağırlıklandırma) hitap veya Python özgü değildir:
- calculate exponential moving average in python
- How to efficiently calculate a running standard deviation?
- Calculating the Moving Average of a List
bu hareketli ortalamanın etiketlenmiş neden bir koşu-ortalama (artan pencerede) gerçekten ilgilendiren beri, merak ediyorum, bir hareketli ortalama (sabit pencere) ? Hareketli bir ortalama yapmak istiyorsanız, http://docs.python.org/library/collections.html#deque-recipes :) –
@Jeffrey'de güzel bir tarif var: Haklısınız - çoğunlukla insanlara yardım etmek Doğru cümleyi kim bilmiyor. Ancak yayınladığınız faydalı bağlantı sayesinde, muhtemelen hareketli ortalama etiketi orada bırakmak mantıklı olur mu? :) –
@JeffreyHarris, ortalama ve hareketli ortalama aynı şey değil mi? –