#### Overview of this book

NumPy is one of the most important scientific computing libraries available for Python. Mastering Numerical Computing with NumPy teaches you how to achieve expert level competency to perform complex operations, with in-depth coverage of advanced concepts. Beginning with NumPy's arrays and functions, you will familiarize yourself with linear algebra concepts to perform vector and matrix math operations. You will thoroughly understand and practice data processing, exploratory data analysis (EDA), and predictive modeling. You will then move on to working on practical examples which will teach you how to use NumPy statistics in order to explore US housing data and develop a predictive model using simple and multiple linear regression techniques. Once you have got to grips with the basics, you will explore unsupervised learning and clustering algorithms, followed by understanding how to write better NumPy code while keeping advanced considerations in mind. The book also demonstrates the use of different high-performance numerical computing libraries and their relationship with NumPy. You will study how to benchmark the performance of different configurations and choose the best for your system. By the end of this book, you will have become an expert in handling and performing complex data manipulations.
Preface
Free Chapter
Working with NumPy Arrays
Linear Algebra with NumPy
Exploratory Data Analysis of Boston Housing Data with NumPy Statistics
Predicting Housing Prices Using Linear Regression
Clustering Clients of a Wholesale Distributor Using NumPy
NumPy, SciPy, Pandas, and Scikit-Learn
Overview of High-Performance Numerical Computing Libraries
Performance Benchmarks
Other Books You May Enjoy

# NumPy and SciPy

Until now, you have seen numerous examples of NumPy usage and only a few of SciPy. NumPy has array data type, which allows you to perform various array operations, such as sorting and reshaping.

NumPy has some numerical algorithms that can be used for tasks such as calculating norms, eigenvalues, and eigenvectors. However, if numerical algorithms are your focus, you should ideally use SciPy, as it includes a more comprehensive algorithm set, as well as the latest versions of the algorithms. SciPy has a lot of useful subpackages for certain kinds of analysis.

The following list will give you an overall idea of the subpackages:

• Cluster: This subpackage includes clustering algorithms. It has two submodules, vq and hierarchy. The vq module provides functions for k-means clustering. The hierarchy module includes functions for hierarchical clustering.
• Fftpack: This...