Learning NumPy Array
| Ivan Idris (Author) Find all the books, read about the author, and more. See search results for this author |
Use the Amazon App to scan ISBNs and compare prices.
About This Book
- Improve the performance of calculations with clean and efficient NumPy code
- Analyze large data sets using statistical functions and execute complex linear algebra and mathematical computations
- Perform complex array operations in a simple manner
Who This Book Is For
This book is for programmers, scientists, or engineers, who have basic Python knowledge and would like to be able to do numerical computations with Python.
What You Will Learn
- Install NumPy and discover its arrays and features
- Perform data analysis and complex array operations with NumPy
- Analyze time series and perform signal processing
- Understand NumPy modules and explore the scientific Python ecosystem
- Improve the performance of calculations with clean and efficient NumPy code
- Analyze large data sets using statistical functions and execute complex linear algebra and mathematical computations
In Detail
NumPy is an extension of Python, which provides highly optimized arrays and numerical operations. NumPy replaces a lot of the functionality of Matlab and Mathematica specifically vectorized operations, but in contrast to those products is free and open source. In today's world of science and technology, it is all about speed and flexibility.
This book will teach you about NumPy, a leading scientific computing library. This book enables you to write readable, efficient, and fast code, which is closely associated to the language of mathematics. Save thousands of dollars on expensive software, while keeping all the flexibility and power of your favorite programming language.
You will learn about installing and using NumPy and related concepts. At the end of the book we will explore related scientific computing projects. This book will give you a solid foundation in NumPy arrays and universal functions. Learning NumPy Array will help you be productive with NumPy and write clean and fast code.
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Product details
- Publisher : Packt Publishing (June 13, 2014)
- Language : English
- Paperback : 164 pages
- ISBN-10 : 1783983906
- ISBN-13 : 978-1783983902
- Item Weight : 10.4 ounces
- Dimensions : 7.5 x 0.37 x 9.25 inches
- Best Sellers Rank: #3,752,400 in Books (See Top 100 in Books)
- #976 in SQL
- #2,899 in Database Storage & Design
- #9,373 in Computer Programming Languages
- Customer Reviews:
About the author

Ivan Idris was born in Bulgaria from Indonesian parents. He moved to the Netherlands in the 1990s, where he graduated from high school and got a MSc in Experimental Physics.
His graduation thesis had a strong emphasis on Applied Computer Science. After graduating he worked for several companies as Java Developer, Datawarehouse Developer and QA Analyst.
His main professional interests are Business Intelligence, Big Data and Cloud Computing. Ivan Idris enjoys writing clean testable code and interesting technical articles.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews right now. Please try again later.
After a quick introduction to Numpy in Chapter 1, Chapter 2 takes the reader through a quick tour of Numpy functions, describing the major ones, including differently named functions which do the same thing, one updating in place and the other creating a copy. Chapter 3-5 on is all case studies, mostly about Time Series Analysis and Signal Processing, perhaps because they are good vehicles for demonstrating array handling techniques, but a nice side effect is that it gives the reader a quick introduction to these subjects as well. Chapter 6 describes Numpy's unit testing functionality, and also covers Python unit testing frameworks (unittest package as well as nose). It also describes how to profile and debug Python code from the IPython shell. Chapter 7 quickly covers various other players in the scientific Python ecosystem, and describes how to optimize Python code by rewriting them to Cython.
I found the book immensely informative and relatively easy to read. It helps to actually work through the code in a Python shell as you are reading the book, in some cases the author condenses multiple steps into a single one, obviously expecting the reader to follow along, so being able to break the steps into smaller ones can help in understanding. Using the shell also gives you access to Python's help system, so you can read about new functions as you encounter them. One minor nit - it would have been more convenient if the data used for the analysis could have been packaged with the code for the book (for people reading the book offline) - but perhaps there are copyright restrictions on such distribution.
DISCLAIMER: I didn't purchase this book, a PackT representative in my social network was offering free copies to review, and I asked for one because (a) I use Numpy and wanted to learn more and (b) as a Numpy user, I felt qualified to review the book objectively.
In Chapter 1, we learn to install Python, SciPy, Matplotlib, IPython and NumPy on Windows, Linux and Macintosh machines and start writing NumPy code.
Chapter 2 reviews the basics on NumPy: Data Types, Array Types, Type Conversions, Creating, Indexing, Slicing and Manipulating array Shapes. Advantages of NumPy arrays: we know items in the array are of the same type (example, dtype!) plus, NumPy arrays can perform vectorized operations on the whole array: better than using lists; NumPy uses an optimized C API for those operations which make them especially fast. We learn how to transform a multidimensional array into a one dimensional array, how to stack, split, convert, copy and view them by playing with images, doing tricks with Sudoku and audio arrays.
In Chapter 3 we are ready to learn Basic Data Analysis by working on a genuine (and quite completely) data set by looking for evidence of planetary heating.
Chapter 4 is about Predictive Analysis and the use of the ‘pandas’ library. Pandas have plotting subroutines and in this chapter data of previous chapter is re-examined and extended to correlating weather and stocks!
Now, in Chapter 5 we focus on ‘Signal Processing Techniques’ and analyze time series. The example data set will be sunspot data which we sift and plot to show the extremes of Sun activity. Tools as ‘moving averages’ and smoothing functions are introduced and we are ready to do a forecasting using an ARMA (autoregressive moving average) model. Then we learn how to design and use a filter and the “cointegration”, a better metric to define the relatedness of two time series.
In Chapter 6 the book moves into Profiling, Debugging and Testing. NumPy adds the numpy.testing package (and its utility functions) to help NumPy code the unit testing. Later we met Nose, a Python framework that eases unit testing by organizing it.
Chapter 7 relates to the Scientific Python Ecosystem. Scipy is built on NumPy and adds functionality as numerical integration, interpolation, optimization, statistics, clustering with scikit-learn, the detection of corners (all with examples), the use of Cython with NumPy and compares NumPy to Blaze (a collection of libraries being built towards the goal of generalizing NumPy ‘s data model and working on distributed data.)
This book is a complete hands-on guide on the use of NumPy, through worked examples and ideas, a must have for those interested in Data Analysis, Forecasting and Signal Processing Techniques.
Top reviews from other countries
There is one at the very beginning of the text, but that isn't very useful when you're trying to reference something from a different section to help you understand what you're working through at the moment.

