cta quote button

Best Books to Learn Numpy

Read More

How Much Does It Cost to Hire Web Developers in Ukraine?

Our pricing is completely transparent: you pay your engineers’ salaries and a flat monthly fee for our services. No hidden charges.

Read More

1. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython (2012)

Python for Data Analysis is concerned with the nuts and bolts of manipulating, processing, cleaning, and crunching data in Python. It is also a practical, modern introduction to scientific computing in Python, tailored for data-intensive applications. This is a book about the parts of the Python language and libraries you’ll need to effectively solve a broad set of data analysis problems. This book is not an exposition on analytical methods using Python as the implementation language.

Written by Wes McKinney, the main author of the pandas library, this hands-on book is packed with practical cases studies. It’s ideal for analysts new to Python and for Python programmers new to scientific computing.

  • Use the IPython interactive shell as your primary development environment
  • Learn basic and advanced NumPy (Numerical Python) features
  • Get started with data analysis tools in the pandas library
  • Use high-performance tools to load, clean, transform, merge, and reshape data
  • Create scatter plots and static or interactive visualizations with matplotlib
  • Apply the pandas groupby facility to slice, dice, and summarize datasets
  • Measure data by points in time, whether it’s specific instances, fixed periods, or intervals
  • Learn how to solve problems in web analytics, social sciences, finance, and economics, through detailed examples

Author(s): Wes McKinney

2. Raspberry Pi Supercomputing and Scientific Programming: MPI4PY, NumPy, and SciPy for Enthusiasts (2017)

Build an inexpensive cluster of multiple Raspberry Pi computers and install all the required libraries to write parallel and scientific programs in Python 3. This book covers setting up your Raspberry Pis, installing the necessary software, and making a cluster of multiple Pis. 
Once the cluster is built, its power has to be exploited by means of programs to run on it. So, Raspberry Pi Supercomputing and Scientific Programming teaches you to code the cluster with the MPI4PY library of Python 3. Along the way, you will learn the concepts of the Message Passing Interface (MPI) standards and will explore the fundamentals of parallel programming on your inexpensive cluster. This will make this book a great starting point for supercomputing enthusiasts who want to get started with parallel programming. 
The book finishes with details of symbolic mathematics and scientific and numerical programming in Python, using SymPi, SciPy, NumPy, and Matplotlib. You’ll see how to process signals and images, carry out calculations using linear algebra, and visualize your results, all using Python code. With the power of a Raspberry Pi supercomputer at your fingertips, data-intensive scientific programming becomes a reality at home.
What You Will Learn  
  • Discover the essentials of supercomputing
  • Build a low-cost cluster of Raspberry Pis at home
  • Harness the power of parallel programming and the Message Passing Interface (MPI)
  • Use your Raspberry Pi for symbolic, numerical, and scientific programming
Who This Book Is For
Python 3 developers who seek the knowledge of parallel programming, Raspberry Pi enthusiasts, researchers, and the scientific Python community.

Author(s): Ashwin Pajankar

3. Python for Data Science For Dummies (For Dummies (Computer/Tech)) (2015)

Unleash the power of Python for your data analysis projects with For Dummies!

Python is the preferred programming language for data scientists and combines the best features of Matlab, Mathematica, and R into libraries specific to data analysis and visualization. Python for Data Science For Dummies shows you how to take advantage of Python programming to acquire, organize, process, and analyze large amounts of information and use basic statistics concepts to identify trends and patterns. You’ll get familiar with the Python development environment, manipulate data, design compelling visualizations, and solve scientific computing challenges as you work your way through this user-friendly guide.

  • Covers the fundamentals of Python data analysis programming and statistics to help you build a solid foundation in data science concepts like probability, random distributions, hypothesis testing, and regression models
  • Explains objects, functions, modules, and libraries and their role in data analysis
  • Walks you through some of the most widely-used libraries, including NumPy, SciPy, BeautifulSoup, Pandas, and MatPlobLib

Whether you’re new to data analysis or just new to Python, Python for Data Science For Dummies is your practical guide to getting a grip on data overload and doing interesting things with the oodles of information you uncover.

Author(s): John Paul Mueller, Luca Massaron

4. Python Data Science Handbook: Essential Tools for Working with Data (2016)

For many researchers, Python is a first-class tool mainly because of its libraries for storing, manipulating, and gaining insight from data. Several resources exist for individual pieces of this data science stack, but only with the Python Data Science Handbook do you get them all—IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and other related tools.

Working scientists and data crunchers familiar with reading and writing Python code will find this comprehensive desk reference ideal for tackling day-to-day issues: manipulating, transforming, and cleaning data; visualizing different types of data; and using data to build statistical or machine learning models. Quite simply, this is the must-have reference for scientific computing in Python.

With this handbook, you’ll learn how to use:

  • IPython and Jupyter: provide computational environments for data scientists using Python
  • NumPy: includes the ndarray for efficient storage and manipulation of dense data arrays in Python
  • Pandas: features the DataFrame for efficient storage and manipulation of labeled/columnar data in Python
  • Matplotlib: includes capabilities for a flexible range of data visualizations in Python
  • Scikit-Learn: for efficient and clean Python implementations of the most important and established machine learning algorithms

Author(s): Jake VanderPlas

5. High Performance Python: Practical Performant Programming for Humans (2014)

Your Python code may run correctly, but you need it to run faster. By exploring the fundamental theory behind design choices, this practical guide helps you gain a deeper understanding of Python’s implementation. You’ll learn how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs.

How can you take advantage of multi-core architectures or clusters? Or build a system that can scale up and down without losing reliability? Experienced Python programmers will learn concrete solutions to these and other issues, along with war stories from companies that use high performance Python for social media analytics, productionized machine learning, and other situations.

  • Get a better grasp of numpy, Cython, and profilers
  • Learn how Python abstracts the underlying computer architecture
  • Use profiling to find bottlenecks in CPU time and memory usage
  • Write efficient programs by choosing appropriate data structures
  • Speed up matrix and vector computations
  • Use tools to compile Python down to machine code
  • Manage multiple I/O and computational operations concurrently
  • Convert multiprocessing code to run on a local or remote cluster
  • Solve large problems while using less RAM

Author(s): Micha Gorelick, Ian Ozsvald

6. Pandas for Everyone: Python Data Analysis (Addison-Wesley Data & Analytics Series) (2018)

The Hands-On, Example-Rich Introduction to Pandas Data Analysis in Python


Today, analysts must manage data characterized by extraordinary variety, velocity, and volume. Using the open source Pandas library, you can use Python to rapidly automate and perform virtually any data analysis task, no matter how large or complex. Pandas can help you ensure the veracity of your data, visualize it for effective decision-making, and reliably reproduce analyses across multiple datasets.


Pandas for Everyone brings together practical knowledge and insight for solving real problems with Pandas, even if you’re new to Python data analysis. Daniel Y. Chen introduces key concepts through simple but practical examples, incrementally building on them to solve more difficult, real-world problems.


Chen gives you a jumpstart on using Pandas with a realistic dataset and covers combining datasets, handling missing data, and structuring datasets for easier analysis and visualization. He demonstrates powerful data cleaning techniques, from basic string manipulation to applying functions simultaneously across dataframes.


Once your data is ready, Chen guides you through fitting models for prediction, clustering, inference, and exploration. He provides tips on performance and scalability, and introduces you to the wider Python data analysis ecosystem. 

  • Work with DataFrames and Series, and import or export data
  • Create plots with matplotlib, seaborn, and pandas
  • Combine datasets and handle missing data
  • Reshape, tidy, and clean datasets so they’re easier to work with
  • Convert data types and manipulate text strings
  • Apply functions to scale data manipulations
  • Aggregate, transform, and filter large datasets with groupby
  • Leverage Pandas’ advanced date and time capabilities
  • Fit linear models using statsmodels and scikit-learn libraries
  • Use generalized linear modeling to fit models with different response variables
  • Compare multiple models to select the “best”
  • Regularize to overcome overfitting and improve performance
  • Use clustering in unsupervised machine learning

Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.

Author(s): Daniel Y. Chen

7. Learning NumPy Array (2014)

Supercharge your scientific Python computations by understanding how to use the NumPy library effectively

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.

Author(s): Ivan Idris

8. Scientific Computation: Python Hacking for Math Junkies (2015)

This is a book about hacking, but not just any kind of hacking. It is about mathematical hacking, or scientific computing. If you like math and want to use computers to do math or solve mathematical problems, then this book is the for you.

This is version 3, which includes over 80 additional pages, with extensive additions on Python classes, iPython with jupyter notebooks, magic functions, random numbers, and probability and statistics. The emphasis throughout the text is on programming in the iPython notebook. Version 3.0.3 (2017) is revised and corrected.

Part I gives an introduction to programming, the Python shell, and using iPython notebooks.

Part II gives a thorough tour of the Python language. Topics include data types, simple statements, assignments, conditionals, loops, list comprehension, sorting, Numpy, pyplot, using dictionaries, functions, classes, functional programs, lambda functions, and recursion.

Part III gives applications, including probability and statistics, and topics from machine learning such as clustering, linear regression, logistic regression and principal component analysis. Other topics include image analysis, the singular value decomposition, solving initial value problems, discrete systems, fractals, estimating pi, geographic maps, and satellite orbit analysis.

Over 300 problems are included that can be used for student programming projects.

No programming background required. Some basic understanding of math through calculus expected for the applications.

Author(s): Bruce E Shapiro

9. NumPy Essentials (2016)

Key Features

  • Optimize your Python scripts with powerful NumPy modules
  • Explore the vast opportunities to build outstanding scientific/ analytical modules by yourself
  • Packed with rich examples to help you master NumPy arrays and universal functions

Book Description

In today’s world of science and technology, it’s all about speed and flexibility. When it comes to scientific computing, NumPy tops the list. NumPy gives you both the speed and high productivity you need.

This book will walk you through NumPy using clear, step-by-step examples and just the right amount of theory. We will guide you through wider applications of NumPy in scientific computing and will then focus on the fundamentals of NumPy, including array objects, functions, and matrices, each of them explained with practical examples.

You will then learn about different NumPy modules while performing mathematical operations such as calculating the Fourier Transform; solving linear systems of equations, interpolation, extrapolation, regression, and curve fitting; and evaluating integrals and derivatives. We will also introduce you to using Cython with NumPy arrays and writing extension modules for NumPy code using the C API. This book will give you exposure to the vast NumPy library and help you build efficient, high-speed programs using a wide range of mathematical features.

What you will learn

  • Manipulate the key attributes and universal functions of NumPy
  • Utilize matrix and mathematical computation using linear algebra modules
  • Implement regression and curve fitting for models
  • Perform time frequency / spectral density analysis using the Fourier Transform modules
  • Collate with the distutils and setuptools modules used by other Python libraries
  • Establish Cython with NumPy arrays
  • Write extension modules for NumPy code using the C API
  • Build sophisticated data structures using NumPy array with libraries such as Panda and Scikits

About the Author

Leo (Liang-Huan) Chin is a data engineer with more than 5 years of experience in the field of Python. He works for Gogoro smart scooter, Taiwan, where his job entails discovering new and interesting biking patterns . His previous work experience includes ESRI, California, USA, which focused on spatial-temporal data mining. He loves data, analytics, and the stories behind data and analytics. He received an MA degree of GIS in geography from State University of New York, Buffalo. When Leo isn’t glued to a computer screen, he spends time on photography, traveling, and exploring some awesome restaurants across the world. You can reach Leo at http://chinleock.github.io/portfolio/.

Tanmay Dutta is a seasoned programmer with expertise in programming languages such as Python, Erlang, C++, Haskell, and F#. He has extensive experience in developing numerical libraries and frameworks for investment banking businesses. He was also instrumental in the design and development of a risk framework in Python (pandas, NumPy, and Django) for a wealth fund in Singapore. Tanmay has a master’s degree in financial engineering from Nanyang Technological University, Singapore, and a certification in computational finance from Tepper Business School, Carnegie Mellon University.

Table of Contents

  1. An Introduction to NumPy
  2. The NumPy ndarray Object
  3. Using NumPy Arrays
  4. NumPy Core and Libs Submodules
  5. Linear Algebra in NumPy
  6. Fourier Analysis in NumPy
  7. Building and Distributing NumPy Code
  8. Speeding Up NumPy with Cython
  9. Introduction to the NumPy C-API
  10. Further Reading

Author(s): Leo (Liang-Huan) Chin, Tanmay Dutta

10. Guide to NumPy: 2nd Edition (2015)

This is the second edition of Travis Oliphant’s A Guide to NumPy originally published electronically in 2006. It is designed to be a reference that can be used by practitioners who are familiar with Python but want to learn more about NumPy and related tools. In this updated edition, new perspectives are shared as well as descriptions of new distributed processing tools in the ecosystem, and how Numba can be used to compile code using NumPy arrays. Travis Oliphant is the co-founder and CEO of Continuum Analytics. Continuum Analytics develops Anaconda, the leading modern open source analytics platform powered by Python. Travis, who is a passionate advocate of open source technology, has a Ph.D. from Mayo Clinic and B.S. and M.S. degrees in Mathematics and Electrical Engineering from Brigham Young University. Since 1997, he has worked extensively with Python for computational and data science. He was the primary creator of the NumPy package and founding contributor to the SciPy package. He was also a co-founder and past board member of NumFOCUS, a non-profit for reproducible and accessible science that supports the PyData stack. He also served on the board of the Python Software Foundation.

Author(s): Travis E. Oliphant PhD

11. Geoprocessing with Python (2016)


Geoprocessing with Python teaches you how to use the Python programming language, along with free and open source tools, to read, write, and process geospatial data.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

This book is about the science of reading, analyzing, and presenting geospatial data programmatically, using Python. Thanks to dozens of open source Python libraries and tools, you can take on professional geoprocessing tasks without investing in expensive proprietary packages like ArcGIS and MapInfo. The book shows you how.

About the Book

Geoprocessing with Python teaches you how to access available datasets to make maps or perform your own analyses using free tools like the GDAL, NumPy, and matplotlib Python modules. Through lots of hands-on examples, you’ll master core practices like handling multiple vector file formats, editing geometries, applying spatial and attribute filters, working with projections, and performing basic analyses on vector data. The book also covers how to manipulate, resample, and analyze raster data, such as aerial photographs and digital elevation models.

What’s Inside

  • Geoprocessing from the ground up
  • Read, write, process, and analyze raster data
  • Visualize data with matplotlib
  • Write custom geoprocessing tools
  • Three additional appendixes available online

About the Reader

To read this book all you need is a basic knowledge of Python or a similar programming language.

About the Author

Chris Garrard works as a developer for Utah State University and teaches a graduate course on Python programming for GIS.

Table of Contents

  1. Introduction
  2. Python basics
  3. Reading and writing vector data
  4. Working with different vector file formats
  5. Filtering data with OGR
  6. Manipulating geometries with OGR
  7. Vector analysis with OGR
  8. Using spatial reference systems
  9. Reading and writing raster data
  10. Working with raster data
  11. Map algebra with NumPy and SciPy
  12. Map classification
  13. Visualizing data
    1. Appendixes

  • A – Installation
  • B – References
  • C – OGR – online only
  • D – OSR – online only
  • E – GDAL – online only

Author(s): Chris Garrard

Get a FREE Consultation

- Want to learn more about how we work?
- Not sure if we meet all your criteria?
- Too shy or busy to give a call?