In [1]:
import numpy as np
import time
In [2]:
#test speed
def sum_trad():
start = time.time()
X = range(10000000)
Y = range(10000000)
Z = []
for i in range(len(X)):
Z.append(X[i] + Y[i])
return time.time() - start
def sum_numpy():
start = time.time()
X = np.arange(10000000)
Y = np.arange(10000000)
Z=X+Y
return time.time() - start
print 'time sum:',sum_trad(),' time sum numpy:',sum_numpy()
In [3]:
#array creation
arr = np.array([2, 6, 5, 9], float)
print arr
print type(arr)
In [4]:
arr = np.array([1, 2, 3], float)
print arr.tolist()
print list(arr)
In [5]:
arr = np.array([1, 2, 3], float)
arr1 = arr
arr2 = arr.copy()
arr[0] = 0
print arr
print arr1
print arr2
In [6]:
arr = np.array([10, 20, 33], float)
print arr
arr.fill(1)
print arr
In [7]:
print np.random.permutation(3)
print np.random.normal(0,1,5)
print np.random.random(5)
In [8]:
print np.identity(5, dtype=float)
print np.eye(3, k=1, dtype=float)
print np.ones((2,3), dtype=float)
print np.zeros(6, dtype=int)
arr = np.array([[13, 32, 31], [64, 25, 76]], float)
print np.zeros_like(arr)
print np.ones_like(arr)
arr1 = np.array([1,3,2])
arr2 = np.array([3,4,6])
print np.vstack([arr1,arr2])
print np.random.rand(2,3)
print np.random.multivariate_normal([10, 0], [[3, 1], [1, 4]], size=[5,])
In [9]:
#array manipulations
arr = np.array([2., 6., 5., 5.])
print arr[:3]
print arr[3]
arr[0] = 5.
print arr
In [10]:
print np.unique(arr)
print np.sort(arr)
print np.argsort(arr)
np.random.shuffle(arr)
print arr
print np.array_equal(arr,np.array([1,3,2]))
In [11]:
matrix = np.array([[ 4., 5., 6.], [2, 3, 6]], float)
print matrix
print matrix[0,0],'--',matrix[0,2]
arr = np.array([[ 4., 5., 6.], [ 2., 3., 6.]], float)
print arr[1:2,2:3]
print arr[1,:]
print arr[:,2]
print arr[-1:,-2:]
arr = np.array([[10, 29, 23], [24, 25, 46]], float)
print arr
print arr.flatten()
print arr.shape
print arr.dtype
int_arr = matrix.astype(np.int32)
print int_arr
In [12]:
arr = np.array([[ 4., 5., 6.], [ 2., 3., 6.]], float)
print len(arr)
arr = np.array([[ 4., 5., 6.], [ 2., 3., 6.]], float)
print 2 in arr
print 0 in arr
In [13]:
arr = np.array(range(8), float)
print arr
arr = arr.reshape((4,2))
print arr
print arr.shape
In [14]:
arr = np.array(range(6), float).reshape((2, 3))
print arr
print arr.transpose()
In [15]:
matrix = np.arange(15).reshape((3, 5))
print matrix
print matrix .T
In [16]:
arr = np.array([14, 32, 13], float)
print arr
print arr[:,np.newaxis]
print arr[:,np.newaxis].shape
print arr[np.newaxis,:]
print arr[np.newaxis,:].shape
In [17]:
arr1 = np.array([10,22], float)
arr2 = np.array([31,43,54,61], float)
arr3 = np.array([71,82,29], float)
print np.concatenate((arr1, arr2, arr3))
arr1 = np.array([[11, 12], [32, 42]], float)
arr2 = np.array([[54, 26], [27,28]], float)
print np.concatenate((arr1,arr2))
print np.concatenate((arr1,arr2), axis=0)
print np.concatenate((arr1,arr2), axis=1)
In [18]:
arr = np.array([10, 20, 30], float)
str = arr.tostring()
print str
print np.fromstring(str)