Table of Contents
Learning NumPy Array
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Started with NumPy
Python
Installing NumPy, Matplotlib, SciPy, and IPython on Windows
Installing NumPy, Matplotlib, SciPy, and IPython on Linux
Installing NumPy, Matplotlib, and SciPy on Mac OS X
Building from source
NumPy arrays
Adding arrays
Online resources and help
Summary
2. NumPy Basics
The NumPy array object
The advantages of using NumPy arrays
Creating a multidimensional array
Selecting array elements
NumPy numerical types
Data type objects
Character codes
dtype constructors
dtype attributes
Creating a record data type
One-dimensional slicing and indexing
Manipulating array shapes
Stacking arrays
Splitting arrays
Array attributes
Converting arrays
Creating views and copies
Fancy indexing
Indexing with a list of locations
Indexing arrays with Booleans
Stride tricks for Sudoku
Broadcasting arrays
Summary
3. Basic Data Analysis with NumPy
Introducing the dataset
Determining the daily temperature range
Looking for evidence of global warming
Comparing solar radiation versus temperature
Analyzing wind direction
Analyzing wind speed
Analyzing precipitation and sunshine duration
Analyzing monthly precipitation in De Bilt
Analyzing atmospheric pressure in De Bilt
Analyzing atmospheric humidity in De Bilt
Summary
4. Simple Predictive Analytics with NumPy
Examining autocorrelation of average temperature with pandas
Describing data with pandas DataFrames
Correlating weather and stocks with pandas
Predicting temperature
Autoregressive model with lag 1
Autoregressive model with lag 2
Analyzing intra-year daily average temperatures
Introducing the day-of-the-year temperature model
Modeling temperature with the SciPy leastsq function
Day-of-year temperature take two
Moving-average temperature model with lag 1
The Autoregressive Moving Average temperature model
The time-dependent temperature mean adjusted autoregressive model
Outliers analysis of average De Bilt temperature
Using more robust statistics
Summary
5. Signal Processing Techniques
Introducing the Sunspot data
Sifting continued
Moving averages
Smoothing functions
Forecasting with an ARMA model
Filtering a signal
Designing the filter
Demonstrating cointegration
Summary
6. Profiling, Debugging, and Testing
Assert functions
The assert_almost_equal function
Approximately equal arrays
The assert_array_almost_equal function
Profiling a program with IPython
Debugging with IPython
Performing Unit tests
Nose tests decorators
Summary
7. The Scientific Python Ecosystem
Numerical integration
Interpolation
Using Cython with NumPy
Clustering stocks with scikit-learn
Detecting corners
Comparing NumPy to Blaze
Summary
Index
Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: June 2014
Production Reference: 1060614
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78398-390-2
www.packtpub.com
Author
Ivan Idris
Reviewers
Jonathan Bright
Jaidev Deshpande
Mark Livingstone
MiklĂłs PrisznyĂĄk
Commissioning Editor
Kartikey Pandey
Acquisition Editor
Mohammad Rizvi
Content Development Editor
Akshay Nair
Technical Editors
Shubhangi H. Dhamgaye
Shweta S. Pant
Copy Editor
Sarang Chari
Project Coordinator
Lima Danti
Proofreaders
Maria Gould
Kevin McGowen
Indexer
Hemangini Bari
Production Coordinator
Arvindkumar Gupta
Cover Work
Arvindkumar Gupta
Ivan Idris has an MSc in Experimental Physics. His graduation thesis had a strong emphasis on applied computer science. After graduating, he worked for several companies as a Java developer, data warehouse developer, and QA analyst. His main professional interests are Business Intelligence, Big Data, and Cloud Computing. He enjoys writing clean, testable code and interesting technical articles. He is the author of NumPy 1.5 Beginner's Guide and NumPy Cookbook, Packt Publishing. You can find more information and a blog with a few NumPy examples at ivanidris.net.