NumPy 1.5 Python Base Beginner's Guide: An acion-packed guide for the easy-to-use, high
performance, Python based free open source NumPy
mathemaical library using real-world examples
Download
Introduction
Scienists, engineers, and quanitaive data analysts face many challenges nowadays.
Data scienists want to be able to do numerical analysis of large datasets with minimal
programming efort. They want to write readable, eicient, and fast code, that is as close
as possible to the mathemaical language package they are used to. A number of accepted
soluions are available in the scieniic compuing world.
The C, C++, and Fortran programming languages have their beneits, but they are not
interacive and are considered too complex by many. The common commercial alternaives
are, among others, Matlab, Maple, and Mathemaica. These products provide powerful
scriping languages, however, they are sill more limited than any general purpose
programming language. There are other open source tools similar to Matlab such as R, GNU
Octave, and Scilab. Obviously, they also lack the power of a language such as Python.
Python is a popular general purpose programming language widely used by in the scieniic
community. You can access legacy C, Fortran, or R code easily from Python. It is objectoriented
and considered more high-level than C or Fortran. Python allows you to write
readable and clean code with minimal fuss. However, it lacks a Matlab equivalent out of the
box. That's where NumPy comes in. This book is about NumPy and related Python libraries
such as SciPy and Matplotlib
What is NumPy?
NumPy (from Numerical Python) is an open source Python library for scieniic compuing.
NumPy lets you work with arrays and matrices in a natural way. The library contains
a long list of useful mathemaical funcions including some for linear algebra, Fourier
transformaion, and random number generaion rouines. LAPACK, a linear algebra library,
is used by the NumPy linear algebra module if you have LAPACK installed on your system;
otherwise NumPy provides its own implementaion. LAPACK is a well known library originally
writen in Fortran—which Matlab relies on as well. In a sense, NumPy replaces some of the
funcionality of Matlab and Mathemaica, allowing rapid interacive prototyping
We will not be discussing NumPy from a developing contributor's perspecive, but more from
a user's perspecive. NumPy is a very acive project and has a lot of contributors. Maybe, one
day you will be one of them!
What this book covers
Chapter 1, NumPy Quick Start, will guide you through the steps needed to install NumPy on
your system and create a basic NumPy applicaion.
Chapter 2, Beginning with NumPy Fundamentals, introduces you to NumPy arrays and
fundamentals.
Chapter 3, Get into Terms with Commonly Used Funcions, will teach you about the most
commonly used NumPy funcions—the basic mathemaical and staisical funcions
Chapter 4, Convenience Funcions for Your Convenience, will teach you about funcions that
make working with NumPy easier. This includes funcions that select certain parts of your
arrays, for instance based on a Boolean condiion. You will also learn about polynomials and
manipulaing the shape of NumPy objects.
Chapter 5, Working with Matrices and ufuncs, covers matrices and universal funcions.
Matrices are well known in mathemaics and have their representaion in NumPy as well.
Universal funcions (ufuncs) work on arrays element-by-element or on scalars. ufuncs expect
a set of scalars as input and produce a set of scalars as output.
Chapter 6, Move Further with NumPy Modules, discusses how universal funcions can
typically be mapped to mathemaical counterparts such as add, subtract, divide, muliply,
and so on. NumPy has a number of basic modules that will be discussed in this chapter.
Chapter 7, Peeking into Special Rouines, describes some of the more specialized NumPy
funcions. As NumPy users, we someimes ind ourselves having special needs. Fortunately,
NumPy provides for most of our needs.
Chapter 8, Assured Quality with Tesing, will teach you how to write NumPy unit tests.
Chapter 9, Ploing with Matplotlib, discusses how NumPy on its own cannot be used to
create graphs and plots. This chapter covers (in-depth) Matplotlib, a very useful Python
ploing library. Matplotlib integrates nicely with NumPy and has ploing capabiliies
comparable to Matlab.
Chapter 10, When NumPy is Not Enough: SciPy and Beyond, discuss how SciPy and NumPy
are historically related. This chapter goes into more detail about SciPy. SciPy, as menioned
in the History secion, is a high level Python scieniic compuing framework built on top of
NumPy. It can be used in conjuncion with NumPy.
Who this book is for
This book is for you the scienist, engineer, programmer, or analyst looking for a high quality
open source mathemaical library. Knowledge of Python is assumed. Also, some ainity or at
least interest in mathemaics and staisics is required