Book Image

NumPy: Beginner's Guide

By : Ivan Idris
Book Image

NumPy: Beginner's Guide

By: Ivan Idris

Overview of this book

Table of Contents (21 chapters)
NumPy Beginner's Guide Third Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
NumPy Functions' References
Index

Time for action – drawing the lognormal distribution


Let's visualize the lognormal distribution and its PDF with a histogram:

  1. Generate random numbers using the normal() function from the random NumPy module:

    N=10000
    lognormal_values = np.random.lognormal(size=N)
  2. Draw the histogram and theoretical PDF with a center value of 0 and standard deviation of 1:

    _, bins, _ = plt.hist(lognormal_values, np.sqrt(N), normed=True, lw=1)
    sigma = 1
    mu = 0
    x = np.linspace(min(bins), max(bins), len(bins))
    pdf = np.exp(-(numpy.log(x) - mu)**2 / (2 * sigma**2))/ (x * sigma * np.sqrt(2 * np.pi))
    plt.plot(x, pdf,lw=3)
    plt.show()

    The fit of the histogram and theoretical PDF is excellent, as you can see in the following diagram:

What just happened?

We visualized the lognormal distribution using the lognormal() function from the random NumPy module. We did this by drawing the curve of the theoretical PDF and a histogram of randomly generated values (see lognormaldist.py):

import numpy as np
import matplotlib.pyplot as...