Create an rng object with np.random.default_rng(), you can seed it for reproducible results. You can draw samples from probability distributions, including from the binomial and normal distributions.
NumPy includes some tools for working with linear algebra in the numpy.linalg module. However, unless you really don’t want to add SciPy as a dependency to your project, it’s typically better to use ...