NumPy is a Python library used for working with arrays. NumPy (short form of ‘Numerical Python’) is a python module which is used in domain of linear algebra, matrices, fourier transform and in Data science field. NumPy arrays are faster than Python Lists because they provide an array object. An array object is called ndarray in NumPy.
PROUNOUNCED AS: Numb-Pye. Usually I prounce it as Numpee.
What is Numpy?
It is creating a Homogeneous n-dimensional arrays (n = 1..n).
Think about real life Example- our day today life where we buy a produce in larger quantities like for example -a box of croissant or eggs from Costco. They come in big box of trays, so these trays are homogeneous because size will be huge it’s like 30 eggs in a tray, so think it as arrays which has rows & columns.
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.
Why NumPy is faster than the List?
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. This is the main reason why NumPy is faster than lists. Also, it is optimized to work with latest CPU architectures
Installation of NumPy
To start working with NumPy Arrays, we must first install the NumPy package as it doesn't come with basic Python by default. Use pip to install NumPy package on your command prompt.
pip install numpy
Import NumPy
Once NumPy is installed, import it in your applications by adding the import keyword:
import numpy
Now NumPy is imported and ready to use.
Example
import numpy arr = numpy.array([1, 2, 3, 4, 5]) print(arr)
Create an alias with the as keyword while importing:
import numpy as np
Example
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr)
Output:
[1 2 3 4 5]
Creating 1-D array is same the above ie
Create a 1-D array containing the values 1,2,3,4,5:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr)
Output:
[1 2 3 4 5]
Create a 2-D array containing two arrays with the values 1,2,3 and 4,5,6:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr)
Output:
[[1 2 3]
[4 5 6]]
np.arrange() What arrange([start],stop,[step]) does is that it arranges numbers
from starting to stop, in steps of step. Here is what it means for np.arrange (0,10,2) Output: array([0, 2, 4, 6, 8]) np.zeros() What will np.zeros(4,3) do Output: array([[ 0., 0., 0.], [ 0., 0., 0.], [ 0., 0., 0.], [ 0., 0., 0.]]) reshape() It is a method that changes the dimensions of your original matrix
into your desired dimension.
B = [1, 2, 3, 4, 5, 6, 7, 8, 9]
B.reshape(3,3)
Output:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
np.sum()
It adds up all the elements of the array
array([[ 1., 2., 3.],
[ 4., 5., 6.],
[ 7., 8., 9.]])
np.sum()
Output:
45
To add or sum along the rows
# sum along the rows
np.sum(M,axis=1)
Output:
array([ 6., 15., 24.])
6 is the sum of 1st row (1, 2, 3).
15 is the sum of 2nd row (4, 5, 6).
24 is the sum of 3rd row (7, 8, 9).
Sum along the columns # sum along the cols np.sum(M,axis=0) Output: array([ 12., 15., 18.]) 12 is the sum of 1st col (1, 4, 7). 15 is the sum of 2nd col (2, 5, 8). 18 is the sum of 3rd col (3, 6, 9). Access the 2nd element on 1st dim: import numpy as np arr = np.array([[1,2,3,4,5], [6,7,8,9,10]]) print('2nd element on 1st dim: ', arr[0, 1]) Output: 2 Access the 5th element on 2nd dim: import numpy as np arr = np.array([[1,2,3,4,5], [6,7,8,9,10]]) print('5th element on 2nd dim: ', arr[1, 4]) Output: 10
Slicing arrays
Slicing in python means taking elements from one given index to another given index.
We pass slice instead of index like this: [start:end].
We can also define the step, like this: [start:end:step].
If we don't pass start its considered 0
If we don't pass end its considered length of array in that dimension
If we don't pass step its considered 1
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[1:5])
Output:
[2,3,4,5]
Slice elements from index 4 to the end of the array:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[4:])
Output:
[5,6,7]
Slice elements from the beginning to index 4 (not included):
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[:4])
Output:
[1,2,3,4]
Data Types in NumPy
NumPy has some extra data types, and refer to data types with one character, like i for integers, u for unsigned integers etc.
Below is a list of all data types in NumPy and the characters used to represent them.
i - integer
b - boolean
u - unsigned integer
f - float
c - complex float
m - timedelta
M - datetime
O - object
S - string
U - unicode string
V - fixed chunk of memory for other type (void)
Checking the Data Type of an Array
The NumPy array object has a property called dtype that returns the data type of the array:
import numpy as np arr = np.array([1, 2, 3, 4]) print(arr.dtype)
Output:
Int64
There are many more functions like copy, shape, view and re shape and many more..
I have here attached the link for cheap sheet too.
Conclusion:
In this blog I have explained What is NumPy? And its uses and certain important and basic commands that NumPy can perform. Hope this blog was helpful and you enjoyed reading…
If you could appreciate the blog with claps it would be more encouraging me to write more blogs.