Searching

NumPy has several functions that can search through arrays:

  • The argmax() function gives the indices of the maximum values of an array:
    >>> a = np.array([2, 4, 8])
    >>> np.argmax(a)
    2
    
  • The nanargmax() function does the same, but ignores NaN values:
    >>> b = np.array([np.nan, 2, 4])
    >>> np.nanargmax(b)
    2
    
  • The argmin() and nanargmin() functions provide similar functionality but pertaining to minimum values. The argmax() and nanargmax() functions are also available as methods of the ndarray class.
  • The argwhere() function searches for non-zero values and returns the corresponding indices grouped by element:
    >>> a = np.array([2, 4, 8])
    >>> np.argwhere(a <= 4)
    array([[0],
           [1]])
    
  • The searchsorted() function tells you the index in an array where a specified value belongs to maintain the sort order. It uses binary search (see https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search), which is a O(log n) algorithm. We will see this function in action shortly.
  • The extract() function retrieves values from an array based on a condition.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset