The book is written in beginner's guide style with each aspect of NumPy demonstrated with real world examples and required screenshots.If you are a programmer, scientist, or engineer who has basic Python knowledge and would like to be able to do numerical computations with Python, this book is for you. No prior knowledge of NumPy is required.
Author(s): Ivan Idris
Publisher: Packt Pub Limited
Year: 2013
Language: English
Pages: 310
Cover
Copyright
Credits
About the Author
About the Reviewers
www.PacktPub.com
Table of Contents
Preface
Chapter 1: NumPy Quick Start
Python
Time for action – installing Python on different operating systems
Windows
Time for action – installing NumPy, Matplotlib, SciPy, and IPython on Windows
Linux
Time for action – installing NumPy, Matplotlib, SciPy, and IPython on Linux
Mac OS X
Time for action – installing NumPy, Matplotlib, and SciPy on Mac OS X
Time for action – installing NumPy, SciPy, Matplotlib, and IPython with MacPorts or Fink
Building from source
Arrays
Time for action – adding vectors
IPython—an interactive shell
Online resources and help
Summary
Chapter 2: Beginning with NumPy Fundamentals
NumPy array object
Time for action – creating a multidimensional array
Selecting elements
NumPy numerical types
Data type objects
Character codes
dtype constructors
dtype attributes
Time for action – creating a record data type
One-dimensional slicing and indexing
Time for action – slicing and indexing multidimensional arrays
Time for action – manipulating array shapes
Stacking
Time for action – stacking arrays
Splitting
Time for action – splitting arrays
Array attributes
Time for action – converting arrays
Summary
Chapter 3: Get in Terms with Commonly Used Functions
File I/O
Time for action – reading and writing files
CSV files
Time for action – loading from CSV files
Volume-weighted average price
Time for action – calculating volume-weighted average price
The mean function
Time-weighted average price
Value range
Time for action – finding highest and lowest values
Statistics
Time for action – doing simple statistics
Stock returns
Time for action – analyzing stock returns
Dates
Time for action – dealing with dates
Weekly summary
Time for action – summarizing data
Average true range
Time for action – calculating the average true range
Simple moving average
Time for action – computing the simple moving average
Exponential moving average
Time for action – calculating the exponential moving average
Bollinger bands
Time for action – enveloping with Bollinger bands
Linear model
Time for action – predicting price with a linear model
Trend lines
Time for action – drawing trend lines
Methods of ndarray
Time for action – clipping and compressing arrays
Factorial
Time for action – calculating the factorial
Summary
Chapter 4: Convenience Functions for Your Convenience
Correlation
Time for action – trading correlated pairs
Polynomials
Time for action – fitting to polynomials
On-balance volume
Time for action – balancing volume
Simulation
Time for action – avoiding loops with vectorize
Smoothing
Time for action – smoothing with the hanning function
Summary
Chapter 5: Working with Matrices and ufuncs
Matrices
Time for action – creating matrices
Creating a matrix from other matrices
Time for action – creating a matrix from other matrices
Universal functions
Time for action – creating universal function
Universal function methods
Time for action – applying the ufunc methods on add
Arithmetic functions
Time for action – dividing arrays
Time for action – computing the modulo
Fibonacci numbers
Time for action – computing Fibonacci numbers
Lissajous curves
Time for action – drawing Lissajous curves
Square waves
Time for action – drawing a square wave
Sawtooth and triangle waves
Time for action – drawing sawtooth and triangle waves
Bitwise and comparison functions
Time for action – twiddling bits
Summary
Chapter 6: Move Further with NumPy Modules
Linear algebra
Time for action – inverting matrices
Solving linear systems
Time for action – solving a linear system
Finding eigenvalues and eigenvectors
Time for action – determining eigenvalues and eigenvectors
Singular value decomposition
Time for action – decomposing a matrix
Pseudoinverse
Time for action – computing the pseudo inverse of a matrix
Determinants
Time for action – calculating the determinant of a matrix
Fast Fourier transform
Time for action – calculating the Fourier transform
Shifting
Time for action – shifting frequencies
Random numbers
Time for action – gambling with the binomial
Hypergeometric distribution
Time for action – simulating a game show
Continuous distributions
Time for action – drawing a normal distribution
Lognormal distribution
Time for action – drawing the lognormal distribution
Summary
Chapter 7: Peeking into Special Routines
Sorting
Time for action – sorting lexically
Complex numbers
Time for action – sorting complex numbers
Searching
Time for action – using searchsorted
Array elements' extraction
Time for action – extracting elements from an array
Financial functions
Time for action – determining future value
Present value
Time for action – getting the present value
Net present value
Time for action – calculating the net present value
Internal rate of return
Time for action – determining the internal rate of return
Periodic payments
Time for action – calculating the periodic payments
Number of payments
Time for action – determining the number of periodic payments
Interest rate
Time for action – figuring out the rate
Window functions
Time for action – plotting the Bartlett window
Blackman window
Time for action – smoothing stock prices with the Blackman window
Hamming window
Time for action – plotting the Hamming window
Kaiser window
Time for action – plotting the Kaiser window
Special mathematical functions
Time for action – plotting the modified Bessel function
sinc
Time for action – plotting the sinc function
Summary
Chapter 8: Assure Quality with Testing
Assert functions
Time for action – asserting almost equal
Approximately equal arrays
Time for action – asserting approximately equal
Almost equal arrays
Time for action – asserting arrays almost equal
Equal arrays
Time for action – comparing arrays
Ordering arrays
Time for action – checking the array order
Objects comparison
Time for action – comparing objects
String comparison
Time for action – comparing strings
Floating point comparisons
Time for action – comparing with assert_array_almost_equal_nulp
Comparison of floats with more ULPs
Time for action – comparing using maxulp of 2
Unit tests
Time for action – writing a unit test
Nose tests decorators
Time for action – decorating tests
Docstrings
Time for action – executing doctests
Summary
Chapter 9: Plotting with Matplotlib
Simple plots
Time for action – plotting a polynomial function
Plot format string
Time for action – plotting a polynomial and its derivative
Subplots
Time for action – plotting a polynomial and its derivatives
Finance
Time for action – plotting a year’s worth of stock quotes
Histograms
Time for action – charting stock price distributions
Logarithmic plots
Time for action – plotting stock volume
Scatter plots
Time for action – plotting price and volume returns with scatter plot
Fill between
Time for action – shading plot regions based on a condition
Legend and annotations
Time for action – using legend and annotations
Three dimensional plots
Time for action – plotting in three dimensions
Contour plots
Time for action – drawing a filled contour plot
Animation
Time for action – animating plots
Summary
Chapter 10: When NumPy is Not
Enough – SciPy and Beyond
MATLAB and Octave
Time for action – saving and loading a .mat file
Statistics
Time for action – analyzing random values
Samples’ comparison and SciKits
Time for action – comparing stock log returns
Signal processing
Time for action – detecting a trend in QQQ
Fourier analysis
Time for action – filtering a detrended signal
Mathematical optimization
Time for action – fitting to a sine
Numerical integration
Time for action – calculating the Gaussian integral
Interpolation
Time for action – interpolating in one dimension
Image processing
Time for action – manipulating Lena
Audio processing
Time for action – replaying audio clips
Summary
Chapter 11: Playing with Pygame
Pygame
Time for action – installing Pygame
Hello World
Time for action – creating a simple game
Animation
Time for action – animating objects with NumPy and Pygame
Matplotlib
Time for action – using Matplotlib in Pygame
Surface pixels
Time for action – accessing surface pixel data with NumPy
Artificial intelligence
Time for action – clustering points
OpenGL and Pygame
Time for action – drawing the Sierpinski gasket
Simulation game with PyGame
Time for action – simulating life
Summary
Index