Numpy Basics for Data Science
NumPy is a Python library used for working with arrays. It also has functions for working in domain of linear algebra, fourier transform, and matrices
Numpy Basics for data science
NumPy is a Python library used for working with arrays. It also has functions for working in domain of linear algebra, fourier transform, and matrices.
Import Numpy
import numpy as np
list=[1,2,3,4,5]
print(list)
Output:
[1, 2, 3, 4, 5]
Create Array
arr=np.array(list)
print(arr)
Output:
[1 2 3 4 5]
Type of Array:
type(arr)
print(arr.shape)
Output:
(5,)
l1=[1,2,3,4,5]
l2=[2,3,4,5,6]
l3=[4,5,6,7,8]
arr=np.array([l1,l2,l3])
Array Type and Shape
print(arr,"\n",type(arr),"\n",arr.shape)
Output:
[[1 2 3 4 5]
[2 3 4 5 6]
[4 5 6 7 8]]
<class 'numpy.ndarray'>
(3, 5)
Reshape
arr.reshape(15,1)
Output:
array([[1],
[2],
[3],
[4],
[5],
[2],
[3],
[4],
[5],
[6],
[4],
[5],
[6],
[7],
[8]])
Indexing
l1=[1,2,3,4,5]
l2=[2,3,4,5,6]
l3=[4,5,6,7,8]
arr=np.array([l1,l2,l3])
Slicing
arr[:,:] #all row and column
arr[0:2,0:2]
Output:
array([[1, 2],
[2, 3]])
In:
#pick 4,5,6,7 from second and third row
arr[1:,2:4]
Output:
array([[4, 5],
[6, 7]])
In:
#pick 3,4,5 from seconnd row
arr[1,1:4]
Output:
array([3, 4, 5])
Generate Array
arr=np.arange(0,10,2) #genrte numbers basically third parametr is step basically
print(arr)
Output:
[0 2 4 6 8]
Multi dimen array : In:
arr=np.linspace(1,10,100) # third paramter how many values u want
print(arr)
Output:
[ 1. 1.09090909 1.18181818 1.27272727 1.36363636 1.45454545
1.54545455 1.63636364 1.72727273 1.81818182 1.90909091 2.
2.09090909 2.18181818 2.27272727 2.36363636 2.45454545 2.54545455
2.63636364 2.72727273 2.81818182 2.90909091 3. 3.09090909
3.18181818 3.27272727 3.36363636 3.45454545 3.54545455 3.63636364
3.72727273 3.81818182 3.90909091 4. 4.09090909 4.18181818
4.27272727 4.36363636 4.45454545 4.54545455 4.63636364 4.72727273
4.81818182 4.90909091 5. 5.09090909 5.18181818 5.27272727
5.36363636 5.45454545 5.54545455 5.63636364 5.72727273 5.81818182
5.90909091 6. 6.09090909 6.18181818 6.27272727 6.36363636
6.45454545 6.54545455 6.63636364 6.72727273 6.81818182 6.90909091
7. 7.09090909 7.18181818 7.27272727 7.36363636 7.45454545
7.54545455 7.63636364 7.72727273 7.81818182 7.90909091 8.
8.09090909 8.18181818 8.27272727 8.36363636 8.45454545 8.54545455
8.63636364 8.72727273 8.81818182 8.90909091 9. 9.09090909
9.18181818 9.27272727 9.36363636 9.45454545 9.54545455 9.63636364
9.72727273 9.81818182 9.90909091 10. ]
Copy and Broadcast
#copy and brodcasting
arr=np.array([1,2,3,4,5])
arr1=arr.copy()#create copy of it rather than sharing same memroy location
arr1[2:]=100
print("arr=",arr)
print("arr1=",arr1)
Output:
arr= [1 2 3 4 5]
arr1= [ 1 2 100 100 100]
In:
#some conditions use in practice
print(arr)
print(arr<2)
print(arr*2)
print(arr[arr<5]) # here u passing condition inside so it returns value
Output:
[1 2 3 4 5]
[ True False False False False]
[ 2 4 6 8 10]
[1 2 3 4]
Arrays of one
#array of 1's
print(np.ones(4,dtype=int))
print(np.ones((4,2),dtype=int))
Output:
[1 1 1 1]
[[1 1]
[1 1]
[1 1]
[1 1]]
Random values
#random values
np.random.randint(0,100,8).reshape(2,4)
Output:
array([[63, 23, 77, 9],
[94, 11, 30, 77]])