La façon la plus efficace de calculer l'exécution d'un écart-type?

J'ai un tableau de listes de nombres, par exemple:

[0] (0.01, 0.01, 0.02, 0.04, 0.03)
[1] (0.00, 0.02, 0.02, 0.03, 0.02)
[2] (0.01, 0.02, 0.02, 0.03, 0.02)
     ...
[n] (0.01, 0.00, 0.01, 0.05, 0.03)

Ce que je voudrais faire est efficace de calculer la moyenne et l'écart-type à chaque index d'une liste, dans tous les éléments du tableau.

À faire la moyenne, j'ai été une boucle par le choix et la somme de la valeur à un index donné une liste. À la fin, j'ai diviser chaque valeur de mon "moyennes" liste par n.

À faire l'écart-type, je boucle à travers encore une fois, maintenant que j'ai la moyenne calculée.

Je voudrais éviter de passer par le tableau à deux reprises, une fois pour la moyenne et puis, une fois pour la SD (après j'ai une moyenne).

Est-il une méthode efficace pour le calcul de ces deux valeurs, seulement en passant par le tableau une fois? Tout le code dans un langage interprété (par exemple, Perl ou Python) ou pseudo-code est très bien.

  • Langue différente, mais même algorithme: stackoverflow.com/questions/895929/...
  • Merci, je vais vérifier que l'algorithme de sortir. Ressemble à ce dont j'ai besoin.
  • Merci de m'indiquer la bonne réponse, dmckee. Je tiens à vous donner la "meilleure réponse" case à cocher, si vous souhaitez prendre un moment pour ajouter votre réponse ci-dessous (si vous souhaitez que les points).
  • Aussi, il y a plusieurs exemples dans le rosettacode.org/wiki/Standard_Deviation
  • Wikipédia a un Python de mise en œuvre de en.wikipedia.org/wiki/...