NumPy is a Python package that is used for array processing. NumPy stands for Numeric Python. It supports the processing and computation of multidimensional array elements.
For the efficient calculation of arrays and matrices, NumPy adds a powerful data structure to Python, and it supplies a boundless library of high-level mathematical functions.
The pip command is used to install the numpy package. Run the below command in the
terminal.
If you don’t have pip on your system, you should first install Pip.
To access the NumPy, we should import the numpy into our Python code. For that, we can use the command.
The np is used as an alias for the numpy.
The most important feature of numpy is Ndarray. It is an N-dimensional array that stores a collection of similar types of elements.
Like Python, NumPy supports different types of data types. A list of scalar data types is demonstrated in the following table:
NumPy dtype
The data type of the NumPy array is obtained by using the object known as dtype.
Syntax:
numpy.dtype(object,align,copy)
Example:
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)
Output:
Int64
We can represent the Numpy data types with characters like i,b,u,S etc.
Example:
import numpy as np
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr)
print(arr.dtype)
Output:
[1 2 3 4]
int32
NumPy Array indexing
Array indexing in numpy is similar to accessing an array element. The indexing of the numpy array is started with 0, which means the first element index is 0, the second element index is 1, and so on.
Example:
>>> import numpy as np
>>> a = np.array([1,2,3,4])
>>> print(a[3])
Output:
4
NumPy Array shape
NumPy arrays have the attribute called shape. It will return the number of elements in each dimension in a tuple.
Example:
>>>import numpy as np
>>>ar = np.array([[1, 2, 3], [5, 6, 7]])
>>>print(ar.shape)
Output:
(2,3)
NumPy Array Reshaping
In NumPy, which has one dimensional, two dimensional and three-dimensional arrays, we can change the shape of the array by using reshape.
Example:
>>>import numpy as np
>>>ar1 = np.array([1, 2, 4, 8, 5, 6, 7, 3, 9, 10, 11, 12])
>>>newarr = ar1.reshape(4, 3)
>>>print(newarr)
Output:
[[1 2 4]
[8 5 6]
[7 3 9]
[10 11 12]]
NumPy Array Slicing
NumPy array slicing means the extraction of a portion of an array from the original array.
It can be demonstrated by the syntax: [start: stop: step]
The start, stop, step are the parameters passed to the array; start indicates the start index of the array to be sliced, the default index value is 0; stop indicates the length of the array to be sliced, the step will consider the default value is 1 if we don't pass any value.
Example:
>>>import numpy as np
>>>arr = np.array([3, 5, 7, 8, 11, 14, 18])
>>>arr2 = arr[1:6]
>>>print(arr2)
Output:
[ 5 7 8 11 14]
NumPy Array Joining
NumPy provides different kinds of functions to combine the arrays.
numpy.concatenate
numpy.stack
By using the concatenate function, it will join two or more arrays along a specified axis. The default axis value is 0.
Example:
import numpy as np
array_1 = np.array([1, 2])
array_2 = np.array([3, 4])
array_new = np.concatenate((array_1, array_2))
print(array_new)
Output:
[1 2 3 4]
By using the stack function, it will join two or more arrays along a new axis.
Example:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.stack((arr1, arr2), axis=1)
print(arr)
Output:
[[1 4]
[2 5]
[3 6]]
NumPy Copy and View
In NumPy, some functions return a copy of an array or some return the view while executing a function, when the contents are physically stored in another location, it is called copy. The view will return a new array that looks like the exact location data of the original array.
Example:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.view() //declare the view
y = arr.copy() //declare the copy
arr[0] = 16
print(arr)
print(x)
print(y)
Output:
[16 2 3 4 5]
[16 2 3 4 5]
[1 2 3 4 5]
Overall Numpy arrays are faster than
Python lists. And it will take less memory to process.