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 – 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...