Czy istnieje sposób na wydajne zaimplementowanie ruchomego okienka dla macierzy 1D w Numpy?Rolling window dla tablic 1D w Numpy?
Na przykład mam ten czystego kodu Pythona fragment do obliczenia toczenia odchylenia standardowe dla listy 1D, gdzie observations
lista 1D wartości, a n
jest długością okna dla odchylenia standardowego:
stdev = []
for i, data in enumerate(observations[n-1:]):
strip = observations[i:i+n]
mean = sum(strip)/n
stdev.append(sqrt(250*sum([(s-mean)**2 for s in strip])/(n-1)))
Czy istnieje sposób, aby zrobić to całkowicie w Numpy, tj. Bez pętli Pythona? Odchylenie standardowe jest banalne z numpy.std
, ale część okna toczenia całkowicie mnie obija.
Znalazłem this wpis na blogu dotyczący ruchomego okienka w Numpy, ale nie wydaje się, że jest to tablica 1D.
Można również spojrzeć na projekt wąskiego gardła [] (https://github.com/kwgoodman/ wąskie gardło), ma wbudowaną średnią ruchomą, std, itp. – derchambers