- SciPy is built in top of the NumPy
- SciPy is a fully-featured version of Linear Algebra while Numpy contains only a few features.
- Most new Data Science features are available in Scipy rather than Numpy.

SciPy works efficiently on NumPy arrays and is standard scientific computing library in Python. SciPy library is composed of sub-modules designed for specific tasks.

- File input/output –
**scipy.io** - Special Function –
**scipy.special** - Linear Algebra Operation –
**scipy.linalg** - Interpolation –
**scipy.interpolate** - Optimization and fit –
**scipy.optimize** - Statistics and random numbers –
**scipy.stats** - Numerical Integration –
**scipy.integrate** - Fast Fourier transforms –
**scipy.fftpack** - Signal Processing –
**scipy.signal** - Image manipulation –
**scipy.ndimage**

Along with this, there are many other sub packages of scipy as well i.e. Spatial data structures and algorithms, sparse, clustering, Special function etc.

## Why use SciPy

- SciPy contains varieties of sub packages which help to solve the most common issue related to Scientific Computation.
- SciPy is the most used Scientific library only second to GNU Scientific Library for C/C++ or Matlab’s.
- Easy to use and understand as well as fast computational power.
- It can operate on an array of NumPy library.

## SciPy – Installation and Environment Setup

You can also install SciPy in Windows via pip

Python3 -m pip install --user numpy scipy

Install Scipy on Linux

sudo apt-get install python-scipy python-numpy

Install SciPy in Mac

sudo port install py35-scipy py35-numpy

Before start to learning SciPy, you need to know basic functionality as well as different types of an array of NumPy

The standard way of import infSciPy modules and Numpy:

from scipy import special #same for other modules import numpy as np