william_grisaitis
william_grisaitis

Reputation: 5911

How is numpy.random.Generator different from RandomState?

Generator sounds like a replacement for RandomState, and the way of the future for generating random numbers in NumPy.

What features or behavior (currently or planned) does Generator have that RandomState doesn't?

Both can be parameterized with BitGenerator objects. They have some different methods, but the vast majority appear to be the same.

Relevant links:

Upvotes: 10

Views: 867

Answers (1)

mmdanziger
mmdanziger

Reputation: 4648

As of numpy version 1.23, they list 9 differences at What’s New or Different. To better understand the logic behind the change, I'd recommend reading NEP 19

TLDR:

  1. API changes "cleaned up"
  2. Performance changes, mostly due to switching from Box-Muller to Ziggurat algorithms it seems. Some go to 4x faster with the new approach. See Performance
  3. Numba and Cython compatible BitGenerators.
  4. New dtype, out and axis arguments to fill parts of existing arrays and to control output datatypes.

Upvotes: 2

Related Questions