DEV Community

Md Manawar Iqbal
Md Manawar Iqbal

Posted on

3 1

Numpy in Python

NumPy
The NumPy library is the core library for scientific computing in Python. It provides a high-performance multidimensional array object, and tools for working with these arrays.

Use the following import convention:

>>> import numpy as np
Enter fullscreen mode Exit fullscreen mode

*Numpy Arrays *

*Creating Arrays *

>>> a = np.array([1,2,3])
>>> b = np.array([(1.5,2,3), (4,5,6)], dtype = float)
>>> c = np.array([[(1.5,2,3), (4,5,6)],[(3,2,1), (4,5,6)]], dtype = float)

Enter fullscreen mode Exit fullscreen mode

Initial Placeholders

>>> np.zeros((3,4)) #Create an array of zeros
>>> np.ones((2,3,4),dtype=np.int16) #Create an array of ones
>>> d = np.arange(10,25,5)#Create an array of evenly spaced values (step value)
>>> np.linspace(0,2,9) #Create an array of evenlyspaced values (number of samples)
>>> e = np.full((2,2),7)#Create a constant array
>>> f = np.eye(2) #Create a 2X2 identity matrix
>>> np.random.random((2,2)) #Create an array with random values
>>> np.empty((3,2)) #Create an empty array

Enter fullscreen mode Exit fullscreen mode

I/O

Saving & Loading on Disk

>>> np.save('my_array' , a)
>>> np.savez( 'array.npz', a, b)
>>> np.load( 'my_array.npy')

Enter fullscreen mode Exit fullscreen mode

Saving & Loading Text Files

>>> np.loadtxt("myfile.txt")
>>> np.genfromtxt("my_file.csv", delimiter= ',')
>>> np.savetxt( "myarray.txt", a, delimiter= " ")
Enter fullscreen mode Exit fullscreen mode

Asking For Help
>>> np.info(np.ndarray.dtype)
Inspecting Your Array

>>> a.shape #Array dimensions
>>> len(a)#Length of array
>>> b.ndim #Number of array dimensions
>>> e.size #Number of array elements
>>> b.dtype  #Data type of array elements
>>> b.dtype.name  #Name of data type
>>> b.astype(int). #Convert an array to a different type

Enter fullscreen mode Exit fullscreen mode

Data Types

>>> np.int64 #Signed 64-bit integer types
>>> np.float32. #Standard double-precision floating point
>>> np.complex. #Complex numbers represented by 128 floats
>>> np.bool  #Boolean type storing TRUE and FALSE values
>>> np.object #Python object type
>>> np.string_ #Fixed-length string type
>>> np.unicode_ #Fixed-length unicode type

Enter fullscreen mode Exit fullscreen mode

Array Mathematics

Arithmetic Operations

>>> g = a - b. #Subtraction
   array([[-0.5,0. ,0.], [-3. , -3. , -3. ]])
>>> np.subtract(a,b) #Subtraction
>>> b + a #Addition 
  array([[ 2.5, 4. , 6.],[5. ,7. ,9. ]])
>>> np.add(b,a) #Addition 
>>> a/b #Division 
 array([[0.66666667,1. ,1.],[0.25 ,0.4 ,0.5 ]])
>>> np.divide(a,b) #Division 
>>> a * b #Multiplication 
  array([[1.5, 4. ,9.],[ 4. , 10. , 18. ]])
>>> np.multiply(a,b) #Multiplication 
>>> np.exp(b) #Exponentiation
>>> np.sqrt(b) #Square root
>>> np.sin(a)  #Print sines of an array
>>> np.cos(b) #Elementwise cosine
>>> np.log(a)#Elementwise natural logarithm
>>> e.dot(f) #Dot product 
 array([[7.,7.],[7.,7.]])
Enter fullscreen mode Exit fullscreen mode

Comparison

>>> a == b #Elementwise comparison

 array([[False , True, True],
             [ False,False ,False ]], dtype=bool)
>>> a< 2 #Elementwise comparison
   array([True, False, False], dtype=bool)
>>> np.array_equal(a, b) #Arraywise comparison
Copying Arrays 
>>>h = a.view()#Create a view of the array with the same data
>>> np.copy(a) #Create a copy of the array
>>>h = a.copy() #Create a deep copy of the array
Sorting Arrays 
>>> a.sort() #Sort an array
>>> c.sort(axis=0) #Sort the elements of an array's axis
Enter fullscreen mode Exit fullscreen mode

Subsetting, Slicing, Indexing
Subsetting

>>> a[2] #Select the element at the 2nd index
  3
>>> b[1,2] #Select the element at row 1 column 2(equivalent to b[1][2])
  6.0

Enter fullscreen mode Exit fullscreen mode

Slicing


>>> a[0:2]#Select items at index 0 and 1
 array([1, 2])
>>> b[0:2,1] #Select items at rows 0 and 1 in column 1
  array([ 2.,5.])
>>> b[:1] 
#Select all items at row0(equivalent to b[0:1, :])
  array([[1.5, 2., 3.]])
 >>> c[1,...] #Same as[1,:,:]
 array([[[ 3., 2.,1.],[ 4.,5., 6.]]])
>>> a[ : : -1] #Reversed array a array([3, 2, 1])

Enter fullscreen mode Exit fullscreen mode

Boolean Indexing

>>> a[a<2] #Select elements from a less than 2
 array([1])

Enter fullscreen mode Exit fullscreen mode

Fancy Indexing

>>> b[[1,0,1, 0],[0,1, 2, 0]] #Select elements(1,0),(0,1),(1,2) and(0,0)
  array([ 4. , 2. , 6. ,1.5])
>>> b[[1,0,1, 0]][:,[0,1,2,0]] #Select a subset of the matrix’s rows and columns
 array([[ 4. ,5. , 6. , 4.],[1.5, 2. , 3. ,1.5],[ 4. ,5. , 6. , 4.],[1.5, 2. , 3. ,1.5]])

Enter fullscreen mode Exit fullscreen mode

Array Manipulation
Transposing Array

>>> i = np.transpose(b) #Permute array dimensions
>>> i.T #Permute array dimensions

Enter fullscreen mode Exit fullscreen mode

Changing Array Shape

>>> b.ravel() #Flatten the array
>>> g.reshape(3, -2) #Reshape, but don’t change data

Enter fullscreen mode Exit fullscreen mode

Adding/Removing Elements

>>>h.resize((2,6)) #Return a new arraywith shape(2,6)
>>> np.append(h,g) #Append items to an array
>>> np.insert(a,1,5)  #Insert items in an array
>>> np.delete(a,[1])  #Delete items from an array

Enter fullscreen mode Exit fullscreen mode

Combining Arrays

np.concatenate((a,d),axis=0) #Concatenate arrays
array([1, 2, 3, 10, 15, 20])


>>> np.vstack((a,b) #Stack arrays vertically(row wise)
 array([[1. , 2. , 3.],[1.5, 2. , 3.],[ 4. ,5. , 6. ]])
>>> np.r_[e,f] #Stack arrays vertically(row wise)
>>> np.hstack((e,f)) #Stack arrays horizontally(column wise)
 array([[7.,7.,1.,0.],[7.,7.,0.,1.]])
>>> np.column_stack((a,d)) #Create stacked column wise arrays
 array([[1, 10],[ 2, 15],[ 3, 20]])
>>> np.c_[a,d] #Create stacked column wise arrays
Splitting Arrays 

>>> np.hsplit(a,3) #Split the array horizontally at the 3rd index
  [array([1]),array([2]),array([3])]
>>> np.vsplit(c,2) #Split the array vertically at the 2nd index
  [array([[[ 1.5, 2. ,1.],[ 4. ,5. , 6. ]]]),
   array([[[ 3., 2., 3.],[ 4.,5., 6.]]])]

Enter fullscreen mode Exit fullscreen mode

Follow me on twitter and Linkedin

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs