cta quote button

Best Scipy Books You Must Read

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. SciPy Recipes: A cookbook with over 110 proven recipes for performing mathematical and scientific computations (2017)

Tackle the most sophisticated problems associated with scientific computing and data manipulation using SciPy

Key Features

  • Covers a wide range of data science tasks using SciPy, NumPy, pandas, and matplotlib
  • Effective recipes on advanced scientific computations, statistics, data wrangling, data visualization, and more
  • A must-have book if you’re looking to solve your data-related problems using SciPy, on-the-go

Book Description

With the SciPy Stack, you get the power to effectively process, manipulate, and visualize your data using the popular Python language. Utilizing SciPy correctly can sometimes be a very tricky proposition. This book provides the right techniques so you can use SciPy to perform different data science tasks with ease.

This book includes hands-on recipes for using the different components of the SciPy Stack such as NumPy, SciPy, matplotlib, and pandas, among others. You will use these libraries to solve real-world problems in linear algebra, numerical analysis, data visualization, and much more. The recipes included in the book will ensure you get a practical understanding not only of how a particular feature in SciPy Stack works, but also of its application to real-world problems. The independent nature of the recipes also ensure that you can pick up any one and learn about a particular feature of SciPy without reading through the other recipes, thus making the book a very handy and useful guide.

What you will learn

  • Get a solid foundation in scientific computing using Python
  • Master common tasks related to SciPy and associated libraries such as NumPy, pandas, and matplotlib
  • Perform mathematical operations such as linear algebra and work with the statistical and probability functions in SciPy
  • Master advanced computing such as Discrete Fourier Transform and K-means with the SciPy Stack
  • Implement data wrangling tasks efficiently using pandas
  • Visualize your data through various graphs and charts using matplotlib

Who This Book Is For

Python developers, aspiring data scientists, and analysts who want to get started with scientific computing using Python will find this book an indispensable resource. If you want to learn how to manipulate and visualize your data using the SciPy Stack, this book will also help you. A basic understanding of Python programming is all you need to get started.

Table of Contents

  1. Getting to know the tools
  2. Getting Started with NumPy
  3. Using Matplotlib to Create Graphs
  4. Data Wrangling with Pandas
  5. Matrices and Linear Algebra
  6. Solving equations and optimization
  7. Constants and special functions
  8. Calculus, Interpolation and Differential Equations
  9. Statistics and Probability
  10. Advanced computations with Scipy

Author(s): L. Felipe Martins, Ruben Oliva Ramos

2. Raspberry Pi Image Processing Programming: Develop Real-Life Examples with Python, Pillow, and SciPy (2017)

Write your own Digital Image Processing programs with the use of pillow, scipy.ndimage, and matplotlib in Python 3 with Raspberry Pi 3 as the hardware platform. This concise quick-start guide provides working code examples and exercises. Learn how to interface Raspberry Pi with various image sensors.
What You’ll Learn
  • Understand Raspberry Pi concepts and setup
  • Understand digital image processing concepts
  • Study pillow, the friendly PIL fork
  • Explore scipy.ndimage and matplotlib
  • Master use of the Pi camera and webcam

Who This Book Is For
Raspberry Pi and IoT enthusiasts, digital image processing enthusiasts, Python and Open Source enthusiasts and professionals

Author(s): Ashwin Pajankar

3. 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

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. Elegant SciPy: The Art of Scientific Python (2017)

Welcome to Scientific Python and its community. If you’re a scientist who programs with Python, this practical guide not only teaches you the fundamental parts of SciPy and libraries related to it, but also gives you a taste for beautiful, easy-to-read code that you can use in practice. You’ll learn how to write elegant code that’s clear, concise, and efficient at executing the task at hand.

Throughout the book, you’ll work with examples from the wider scientific Python ecosystem, using code that illustrates principles outlined in the book. Using actual scientific data, you’ll work on real-world problems with SciPy, NumPy, Pandas, scikit-image, and other Python libraries.

  • Explore the NumPy array, the data structure that underlies numerical scientific computation
  • Use quantile normalization to ensure that measurements fit a specific distribution
  • Represent separate regions in an image with a Region Adjacency Graph
  • Convert temporal or spatial data into frequency domain data with the Fast Fourier Transform
  • Solve sparse matrix problems, including image segmentations, with SciPy’s sparse module
  • Perform linear algebra by using SciPy packages
  • Explore image alignment (registration) with SciPy’s optimize module
  • Process large datasets with Python data streaming primitives and the Toolz library

Author(s): Juan Nunez-Iglesias, Stéfan van der Walt

6. Learning SciPy for Numerical and Scientific Computing Second Edition (2015)

Quick solutions to complex numerical problems in physics, applied mathematics, and science with SciPy

About This Book

  • Use different modules and routines from the SciPy library quickly and efficiently
  • Create vectors and matrices and learn how to perform standard mathematical operations between them or on the respective array in a functional form
  • A step-by-step tutorial that will help users solve research-based problems from various areas of science using Scipy

Who This Book Is For

This book targets programmers and scientists who have basic Python knowledge and who are keen to perform scientific and numerical computations with SciPy.

What You Will Learn

  • Get to know the benefits of using the combination of Python, NumPy, SciPy, and matplotlib as a programming environment for scientific purposes
  • Create and manipulate an object array used by SciPy
  • Use SciPy with large matrices to compute eigenvalues and eigenvectors
  • Focus on construction, acquisition, quality improvement, compression, and feature extraction of signals
  • Make use of SciPy to collect, organize, analyze, and interpret data, with examples taken from statistics and clustering
  • Acquire the skill of constructing a triangulation of points, convex hulls, Voronoi diagrams, and many similar applications
  • Find out ways that SciPy can be used with other languages such as C/C++, Fortran, and MATLAB/Octave

In Detail

SciPy is an open source Python library used to perform scientific computing. The SciPy (Scientific Python) package extends the functionality of NumPy with a substantial collection of useful algorithms.

The book starts with a brief description of the SciPy libraries, followed by a chapter that is a fun and fast-paced primer on array creation, manipulation, and problem-solving. You will also learn how to use SciPy in linear algebra, which includes topics such as computation of eigenvalues and eigenvectors. Furthermore, the book is based on interesting subjects such as definition and manipulation of functions, computation of derivatives, integration, interpolation, and regression. You will also learn how to use SciPy in signal processing and how applications of SciPy can be used to collect, organize, analyze, and interpret data.

By the end of the book, you will have fast, accurate, and easy-to-code solutions for numerical and scientific computing applications.

Author(s): Sergio J. Rojas G., Erik A Christensen

7. 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

8. 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

9. Data Analysis with Open Source Tools: A Hands-On Guide for Programmers and Data Scientists (2010)

These days it seems like everyone is collecting data. But all of that data is just raw information — to make that information meaningful, it has to be organized, filtered, and analyzed. Anyone can apply data analysis tools and get results, but without the right approach those results may be useless.

Author Philipp Janert teaches you how to think about data: how to effectively approach data analysis problems, and how to extract all of the available information from your data. Janert covers univariate data, data in multiple dimensions, time series data, graphical techniques, data mining, machine learning, and many other topics. He also reveals how seat-of-the-pants knowledge can lead you to the best approach right from the start, and how to assess results to determine if they’re meaningful.

Author(s): Philipp K. Janert

10. PySpark Recipes: A Problem-Solution Approach with PySpark2 (2017)

Quickly find solutions to common programming problems encountered while processing big data. Content is presented in the popular problem-solution format. Look up the programming problem that you want to solve. Read the solution. Apply the solution directly in your own code. Problem solved!
PySpark Recipes covers Hadoop and its shortcomings. The architecture of Spark, PySpark, and RDD are presented. You will learn to apply RDD to solve day-to-day big data problems. Python and NumPy are included and make it easy for new learners of PySpark to understand and adopt the model.
What You Will Learn  
  • Understand the advanced features of PySpark2 and SparkSQL
  • Optimize your code
  • Program SparkSQL with Python
  • Use Spark Streaming and Spark MLlib with Python
  • Perform graph analysis with GraphFrames
Who This Book Is For

Data analysts, Python programmers, big data enthusiasts

Author(s): Raju Kumar Mishra

11. Mastering SciPy (2015)

About This Book

  • Master the theory and algorithms behind numerical recipes and how they can be applied to real-world problems
  • Learn to combine the most appropriate built-in functions from the SciPy stack by understanding the connection between the sources of your problem, volume of data, or computer architecture
  • A comprehensive coverage of all the mathematical techniques needed to solvethe presented topics, with a discussion of the relevant algorithms built in the SciPy stack

Who This Book Is For

If you are a professional with a proficiency in Python and familiarity with IPython, this book is for you. Some basic knowledge of numerical methods in scientific computing would be helpful.

What You Will Learn

  • Master relevant algorithms used in symbolic or numerical mathematics to address the approximation, interpolation, and optimization of scalar or multi-variate functions
  • Develop different algorithms and strategies to effectively store and manipulate large matrices of data, with a view to solving various problems in numerical linear algebra
  • Understand how to model physical problems with systems of differential equations and distinguish the factors that dictate the strategies to solve them numerically
  • Perform statistical analysis, inference, data mining, and machine learning at higher level, and apply these to real-world problems
  • Adapt valuable ideas in computational geometry like Delaunay triangulations, Voronoi diagrams, geometric query problems, or Bezier curves, and apply them to various engineering problems
  • Familiarize yourself with different methods to represent and compress images, as well as techniques used in image processing, including edition, restoration, inpainting, segmentation, or feature recognition

In Detail

The SciPy stack is a collection of open source libraries of the powerful scripting language Python, together with its interactive shells. This environment offers a cutting-edge platform for numerical computation, programming, visualization and publishing, and is used by some of the world’s leading mathematicians, scientists, and engineers.

This book goes beyond a mere description of the different built-in functions coded in the libraries from the SciPy stack. It presents you with a solid mathematical and computational background to help you identify the right tools for each problem in scientific computing and visualization.

You will gain an insight into the best practices with numerical methods depending on the amount or type of data, properties of the mathematical tools employed, or computer architecture, among other factors.

Author(s): Francisco J. Blanco-Silva

12. Introducing Data Science: Big Data, Machine Learning, and more, using Python tools (2016)


Introducing Data Science teaches you how to accomplish the fundamental tasks that occupy data scientists. Using the Python language and common Python libraries, you’ll experience firsthand the challenges of dealing with data at scale and gain a solid foundation in data science.

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

About the Technology

Many companies need developers with data science skills to work on projects ranging from social media marketing to machine learning. Discovering what you need to learn to begin a career as a data scientist can seem bewildering. This book is designed to help you get started.

About the Book

Introducing Data ScienceIntroducing Data Science explains vital data science concepts and teaches you how to accomplish the fundamental tasks that occupy data scientists. You’ll explore data visualization, graph databases, the use of NoSQL, and the data science process. You’ll use the Python language and common Python libraries as you experience firsthand the challenges of dealing with data at scale. Discover how Python allows you to gain insights from data sets so big that they need to be stored on multiple machines, or from data moving so quickly that no single machine can handle it. This book gives you hands-on experience with the most popular Python data science libraries, Scikit-learn and StatsModels. After reading this book, you’ll have the solid foundation you need to start a career in data science.

What’s Inside

  • Handling large data
  • Introduction to machine learning
  • Using Python to work with data
  • Writing data science algorithms

About the Reader

This book assumes you’re comfortable reading code in Python or a similar language, such as C, Ruby, or JavaScript. No prior experience with data science is required.

About the Authors

Davy Cielen, Arno D. B. Meysman, and Mohamed Ali are the founders and managing partners of Optimately and Maiton, where they focus on developing data science projects and solutions in various sectors.

Table of Contents

  1. Data science in a big data world
  2. The data science process
  3. Machine learning
  4. Handling large data on a single computer
  5. First steps in big data
  6. Join the NoSQL movement
  7. The rise of graph databases
  8. Text mining and text analytics
  9. Data visualization to the end user

Author(s): Davy Cielen, Arno Meysman