**Python NumPy**

* NumPy is a python library used for working with arrays.

* It also has functions for working in domain of linear algebra, and matrices.

* NumPy was created in 2005 by Travis Oliphant.

* It is an open-source project and you can use it freely.

* NumPy stands for Numerical Python.

The NumPy module provides a ndarray object using which we can use to perform operations on an array of any dimension. The ndarray stands for N-dimensional array where N is any number. That means NumPy array can be any dimension.

NumPy has a number of advantages over the Python lists. We can perform high performance operations on the NumPy arrays such as:

1. Sorting array members

2. Mathematical and Logical operations

3. Input/ output functions

4. Statistical and Linear algebra operations

**Why Use NumPy ?**

* In Python we have lists that serve the purpose of arrays, but they are slow to process.

* NumPy aims to provide an array object that is up to 50x faster than traditional Python lists.

* The array object in NumPy is called ndarray, it provides a lot of supporting functions that make working with ndarray very easy.

Arrays are very frequently used in data science, where speed and resources are very important.

* Data Science: is a branch of computer science where we study how to store, use and analyze data for deriving information from it.

**Why is NumPy Faster Than Lists?**

* NumPy arrays are stored at one continuous place in memory unlike lists, so processes can access and manipulate them very efficiently.

* This behavior is called locality of reference in computer science.

* This is the main reason why NumPy is faster than lists. Also it is optimized to work with the latest CPU architectures.

**Which Language is NumPy written in?**

NumPy is a Python library and is written partially in Python, but most of the parts that require fast computation are written in C or C++.

**Where is the NumPy Codebase?**

The source code for NumPy is located at this github repository https://github.com/numpy/numpy

github: enables many people to work on the same codebase.

**How to install NumPy?**

To install NumPy, you need Python and Pip on your system.

Run the following command on your Windows OS:

pip install numpy

After installing numpy

Now you can import NumPy in your script like this:

import numpy

**Create an Array**

We can create a NumPy array using array() method as given below:

import numpy a=numpy.array([1,2,3]) print(a)

**Output:**

[1 2 3] >>>

We can also use an alias for numpy as np as given below:

import numpy as np a=np.array([1,2,3]) print(a)

**Output:**

[1 2 3] >>>

**Add (append) array element**

You can add a NumPy array element by using the append() method of the NumPy module.

The syntax of append is as follows:

numpy.append(array, value, axis)

The values will be appended at the end of the array and a new ndarray will be returned with new and old values as shown above.

The axis is an optional integer along which how the array is going to be displayed. If the axis is not specified, the array structure will be flattened as you will see later.

Consider the following example where an array is declared first and then we used the append method to add more values to the array:

import numpy a = numpy.array([1, 2, 3]) print(a) newArray = numpy.append (a, [10, 11, 12]) print(newArray)

**The output will be like the following:**

[1 2 3] [ 1 2 3 10 11 12] >>>