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
About the Author
About the Reviewers
NumPy Functions' References

Time for action – calculating the Exponential Moving Average

Given an array, the exp() function calculates the exponential of each array element. For example, look at the following code:

x = np.arange(5)
print("Exp", np.exp(x))

It gives the following output:

Exp [  1.           2.71828183   7.3890561   20.08553692  54.59815003]

The linspace() function takes as parameters a start value, a stop value, and optionally an array size. It returns an array of evenly spaced numbers. This is an example:

print("Linspace", np.linspace(-1, 0, 5))

This will give us the following output:

Linspace [-1.   -0.75 -0.5  -0.25  0.  ]

Calculate the EMA for our data:

  1. Now, back to the weights, calculate them with exp() and linspace():

    N = 5
    weights = np.exp(np.linspace(-1., 0., N))
  2. Normalize the weights with the ndarray sum() method:

    weights /= weights.sum()
    print("Weights", weights)

    For N = 5, we get these weights:

    Weights [ 0.11405072  0.14644403  0.18803785  0.24144538  0.31002201]
  3. After this, use the convolve() function...