import numpy as np
a=np.ones((5,5))
x=np.zeros((3,3))
a[1:4,1:4]=x
a[2,2]=9
print(a)
[[1. 1. 1. 1. 1.] [1. 0. 0. 0. 1.] [1. 0. 9. 0. 1.] [1. 0. 0. 0. 1.] [1. 1. 1. 1. 1.]]
a=np.array([1, 3, 4])
b=a
b[0] =100
print(a)
[100 3 4]
a=np.array([1, 3, 4])
b=a.copy()
b[0] =100
print(a," and ", b)
[1 3 4] and [100 3 4]
a=np.array([1,2,3])
a
array([1, 2, 3])
a-2
array([-1, 0, 1])
a*2
array([2, 4, 6])
a/2
array([0.5, 1. , 1.5])
b=np.array([0,1,0])
a +b
array([1, 3, 3])
a ** 2
array([1, 4, 9])
np.sin(a)
array([0.84147098, 0.90929743, 0.14112001])
np.cos(a)
array([ 0.54030231, -0.41614684, -0.9899925 ])
c=np.identity(3)
c
array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
a=np.ones((2,3))
a
b=np.full((3,2),2)
np.matmul(a,b)
array([[6., 6.], [6., 6.]])
np.linalg.det(c)
1.0
stats = np.array([[1,2,3],[4,5,6]])
stats
array([[1, 2, 3], [4, 5, 6]])
np.min(stats)
1
np.max(stats)
6
np.min(stats, axis=1)
array([1, 4])
np.max(stats, axis=1)
array([3, 6])
np.sum(stats)
21
np.sum(stats, axis=1)
array([ 6, 15])
before=np.array([[1, 2, 3, 4],[5, 6, 7,8]])
after=before.reshape((1,8))
print ("Before:", before)
print("After:", after)
Before: [[1 2 3 4] [5 6 7 8]] After: [[1 2 3 4 5 6 7 8]]
v1=np.array([1,2,3,4])
v2=np.array([5,6,7,8])
np.vstack((v1, v2, v1))
array([[1, 2, 3, 4], [5, 6, 7, 8], [1, 2, 3, 4]])
v1=np.zeros((2,4))
v2=np.ones((2,2))
np.hstack((v1, v2, v2, v1))
array([[0., 0., 0., 0., 1., 1., 1., 1., 0., 0., 0., 0.], [0., 0., 0., 0., 1., 1., 1., 1., 0., 0., 0., 0.]])
Read data.txt
Copy from it
data from: https://github.com/KeithGalli/NumPy
filedata=np.genfromtxt('data.txt', delimiter=',')
filedata
array([[ 1., 13., 21., 11., 196., 75., 4., 3., 34., 6., 7., 8., 0., 1., 2., 3., 4., 5.], [ 3., 42., 12., 33., 766., 75., 4., 55., 6., 4., 3., 4., 5., 6., 7., 0., 11., 12.], [ 1., 22., 33., 11., 999., 11., 2., 1., 78., 0., 1., 2., 9., 8., 7., 1., 76., 88.]])
filedata=filedata.astype('int32')
filedata
array([[ 1, 13, 21, 11, 196, 75, 4, 3, 34, 6, 7, 8, 0, 1, 2, 3, 4, 5], [ 3, 42, 12, 33, 766, 75, 4, 55, 6, 4, 3, 4, 5, 6, 7, 0, 11, 12], [ 1, 22, 33, 11, 999, 11, 2, 1, 78, 0, 1, 2, 9, 8, 7, 1, 76, 88]])
filedata>50
array([[False, False, False, False, True, True, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, True, True, False, True, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, True, False, False, False, True, False, False, False, False, False, False, False, True, True]])
filedata[filedata>50]
array([196, 75, 766, 75, 55, 999, 78, 76, 88])
a=np.array([1, 2, 3, 4, 5, 6])
a[[0, 2, 5]]
array([1, 3, 6])
axis =1 will show that data for the rows
np.any(filedata>50, axis=0)
array([False, False, False, False, True, True, False, True, True, False, False, False, False, False, False, False, True, True])
np.all(filedata>50, axis=0)
array([False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False])
here Python's and
dosen't work we need to use &
for and operation
filedata[(filedata>50) & (filedata<100)]
array([75, 75, 55, 78, 76, 88])
logical or is |
and logical not is ~
filedata[(filedata>50) | (filedata<10)]
array([ 1, 196, 75, 4, 3, 6, 7, 8, 0, 1, 2, 3, 4, 5, 3, 766, 75, 4, 55, 6, 4, 3, 4, 5, 6, 7, 0, 1, 999, 2, 1, 78, 0, 1, 2, 9, 8, 7, 1, 76, 88])
filedata[(filedata>50) | ~(filedata<10)]
array([ 13, 21, 11, 196, 75, 34, 42, 12, 33, 766, 75, 55, 11, 12, 22, 33, 11, 999, 11, 78, 76, 88])
Now, showing valuse grater than fifty or not grater than 10
ans = np.ones((1,1))
ans
array([[1.]])
ans=np.hstack((ans,(ans+ans), (ans+ans+ans), (ans+ans+ans+ans), (ans+ans+ans+ans+ans)))
ans
array([[1., 2., 3., 4., 5.]])
ans=np.vstack((ans,ans+5))
ans
array([[ 1., 2., 3., 4., 5.], [ 6., 7., 8., 9., 10.]])
ans=np.vstack((ans,ans[1,:]+5))
ans
array([[ 1., 2., 3., 4., 5.], [ 6., 7., 8., 9., 10.], [11., 12., 13., 14., 15.]])
ans=np.vstack((ans, ans+15))
ans
array([[ 1., 2., 3., 4., 5.], [ 6., 7., 8., 9., 10.], [11., 12., 13., 14., 15.], [16., 17., 18., 19., 20.], [21., 22., 23., 24., 25.], [26., 27., 28., 29., 30.]])
ans[2:4, 0:2]
array([[11., 12.], [16., 17.]])
ans[[0,1,2,3],[1,2,3,4]]
array([ 2., 8., 14., 20.])
ans[[0, 4, 5], 3:]
array([[ 4., 5.], [24., 25.], [29., 30.]])