In [ ]:
#import numpy
import numpy as np
In [ ]:
#create numpy array
x = [[1,2,3],[4,5,6]]
x = np.array(x)
print(x)
In [ ]:
#array info
print(x.shape)
print(x.dtype)
In [ ]:
#indexing
print(x[0,0])
print(x[:,0])
print(x[0,:])
print(x[0,1:3])
In [ ]:
#setting values
print(x)
x[1,2] = 100
print(x)
x[1,:] = [101,102,103]
print(x)
In [ ]:
#summary statistics
x = [[1,2,3],[4,5,6]]
x = np.array(x)
print(x.mean())
print(x.std())
print(x.min())
print(x.max())
In [ ]:
#statistics for columns and rows
print(np.mean(x,0))
print(np.mean(x,1))
In [ ]:
#transformations
x_transpose = x.T
print(x_transpose)
x_reshape = x.reshape(3,2)
print(x_reshape)
In [ ]:
#other ways to intialize arrays
ones = np.ones(shape=(3,5))
print(ones)
zeros = np.zeros(shape=(3,5))
print(zeros)
random = np.random.rand(3,5)
print(random)
rand_ints = np.random.randint(low=0,high=10,size=(3,5))
print(rand_ints)
seq = np.arange(start=0,stop=3,step=0.5)
print(seq)
In [ ]:
#operations
a = np.arange(0,10).reshape(2,5)
b = np.arange(5,15).reshape(2,5)
elem_sum = a + b
print(elem_sum)
print(a + 1)
print(a + np.random.rand(2,1))
print(a + np.random.rand(1,5))
elem_product = a * b
print(elem_product)
print(a * 2)
dot = np.dot(a, b.T)
print(dot)
In [ ]:
#normalize
x = np.random.rand(3,5)
x -= np.mean(x,0)
x /= np.std(x,0)
print(x)
print(np.mean(x,0),np.std(x,0))
In [ ]:
#concatenating arrays
a = np.zeros((2,5))
b = np.ones((2,5))
c = np.ones((2,5)) * 2
print(np.vstack((a,b,c)))
print(np.vstack((c,b,a)))
print(np.hstack((a,b,c)))
print(np.hstack((c,b,a)))
print(np.concatenate((a,b,c),axis=0))
print(np.concatenate((a,b,c),axis=1))
In [ ]:
#filtering and masking
a = np.random.rand(20)
print(a)
filter = a > 0.5
print(filter)
print(a[filter])
In [ ]:
In [ ]: