[Numpy-discussion] Does np.std() make two passes through the data?

Robert Kern robert.kern at gmail.com
Sun Nov 21 20:56:36 EST 2010


On Sun, Nov 21, 2010 at 19:49, Keith Goodman <kwgoodman at gmail.com> wrote:

> But this sample gives a difference:
>
>>> a = np.random.rand(100)
>>> a.var()
>   0.080232196646619805
>>> var(a)
>   0.080232196646619791
>
> As you know, I'm trying to make a drop-in replacement for
> scipy.stats.nanstd. Maybe I'll have to add an asterisk to the drop-in
> part. Either that, or suck it up and store the damn mean.

The difference is less than eps. Quite possibly, the one-pass version
is even closer to the true value than the two-pass version.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
  -- Umberto Eco



More information about the NumPy-Discussion mailing list