Numpy - Arrays
Greetings! I'm Vishnu Vinay, a Computer Science and Engineering graduate holding a B. Tech degree. Currently immersed in the captivating world of Artificial Intelligence, I am on a quest for knowledge while pursuing a graduate certificate in Artificial Intelligence with Machine Learning. My passion lies in sharing insights and discoveries in the fields of AI, Machine Learning, Artificial General Intelligence, and Robotics through engaging blog posts. Proficient in Python, ML libraries, and algorithms, I find joy in developing and deploying ML models, with a focus on leveraging AWS Sagemaker. Join me on this exciting journey of unraveling the mysteries of AI through the lens of coding, exploration, and the ever-evolving landscape of machine learning. Let's embark on this knowledge-sharing adventure together!
Numpy arrays are similar to lists, the only difference is that, we can only store the same type of variables, unlike lists where we can save different types of variables.
Thus, making it very compact and faster compared to lists.
Eg:- Lists, li = [1, 2, 3.4, "Hello"] this is possible in the case of lists, while in the case of NumPy arrays npArr = [1, 2, 3.4, "Hello"] will throw an error.
Instead, we can use it like npArr = [1, 2, 3, 4] or npArr = ["Hello", "World"] etc.
1) Import the library
import numpy as np // Method 1
import numpy // Method 2
// Method 1 is used when you have multiple occasions where you have to write numpy, again and again, to call the functions in it. Hence, making it simpler by just using the shorthand np.
2) creating a numpy array
/ Method 1 - converting the existing list into numpy array
li = [1, 2, 3]
np.array(li)
/ Method 2 - Array full of zeros of size 10
a0 = np.zeros(10)
print(a.dtype) # returns the type of the data by default it is a float
/ Method 3 - Array full of ones of size 10
a1 = np.ones(10)
a1_int = np.ones(10, int) # changing default data type is also possible
/ Note: other size options are also possible like 100, 5, 20 etc.
2.1) creating 2d arrays
a_2d = np.zeros((2, 3)) # pass a tuple instead of just a number
li_2d = [[1, 2, 3], [4, 5, 6]]
np.array(li_2d)
Note: For n-dimensional, give the n's as tuple eg:- (2, 2, 2), (2, 3, 4, 5) etc
3) changing particular index value
a0[0] = 1 # similar to how list works
Note: if we give another data type other than the already applied one, it gets converted into the existing type automatically
a0[0] = "1" # "1" will get converted float
Note: However, if we give a actual string like "Hello", "hi" etc, it will throw an error.
4) Accessing elements -> exactly same as how list works
print(li[0])
/ for 2d arrays
li1_2d = np.array([[11, 12, 13], [14, 15, 16]])
print(li1_2d[0]) # accessing 0th row
print(li1_2d[:, 0]) # accessing 0th column
/ little more interesting
li2_2d = np.array([[11, 12, 13], [14, 15, 16], [11, 12, 13], [14, 15, 16]])
print(li2_2d[:, 0])
print(li2_2d[0:2, 0])
print(li2_2d[:, 1:3])
5) Slicing -> -> exactly same as how list works
print(li[1:2])
print(li_2d[1:2])
6) Size of the array
print(a0.shape)