parameters: (a, indices, axis=None, out=None, mode='raise')
return_statement: return take(indices, axis, out, mode)
docstring: Take elements from an array along an axis.
  
      This function does the same thing as "fancy" indexing (indexing arrays
      using arrays); however, it can be easier to use if you need elements
      along a given axis.
  
      Parameters
      ----------
      a : array_like
          The source array.
      indices : array_like
          The indices of the values to extract.
      axis : int, optional
          The axis over which to select values. By default, the flattened
          input array is used.
      out : ndarray, optional
          If provided, the result will be placed in this array. It should
          be of the appropriate shape and dtype.
      mode : {'raise', 'wrap', 'clip'}, optional
          Specifies how out-of-bounds indices will behave.
  
          * 'raise' -- raise an error (default)
          * 'wrap' -- wrap around
          * 'clip' -- clip to the range
  
          'clip' mode means that all indices that are too large are replaced
          by the index that addresses the last element along that axis. Note
          that this disables indexing with negative numbers.
  
      Returns
      -------
      subarray : ndarray
          The returned array has the same type as `a`.
  
      See Also
      --------
      ndarray.take : equivalent method
  
      Examples
      --------
      >>> a = [4, 3, 5, 7, 6, 8]
      >>> indices = [0, 1, 4]
      >>> np.take(a, indices)
      array([4, 3, 6])
  
      In this example if `a` is an ndarray, "fancy" indexing can be used.
  
      >>> a = np.array(a)
      >>> a[indices]
      array([4, 3, 6])
docstring_summary: Take elements from an array along an axis.
docstring_tokens: Take elements from an array along an axis .
function: def take(a, indices, axis=None, out=None, mode='raise'):
      """
      Take elements from an array along an axis.
  
      This function does the same thing as "fancy" indexing (indexing arrays
      using arrays); however, it can be easier to use if you need elements
      along a given axis.
  
      Parameters
      ----------
      a : array_like
          The source array.
      indices : array_like
          The indices of the values to extract.
      axis : int, optional
          The axis over which to select values. By default, the flattened
          input array is used.
      out : ndarray, optional
          If provided, the result will be placed in this array. It should
          be of the appropriate shape and dtype.
      mode : {'raise', 'wrap', 'clip'}, optional
          Specifies how out-of-bounds indices will behave.
  
          * 'raise' -- raise an error (default)
          * 'wrap' -- wrap around
          * 'clip' -- clip to the range
  
          'clip' mode means that all indices that are too large are replaced
          by the index that addresses the last element along that axis. Note
          that this disables indexing with negative numbers.
  
      Returns
      -------
      subarray : ndarray
          The returned array has the same type as `a`.
  
      See Also
      --------
      ndarray.take : equivalent method
  
      Examples
      --------
      >>> a = [4, 3, 5, 7, 6, 8]
      >>> indices = [0, 1, 4]
      >>> np.take(a, indices)
      array([4, 3, 6])
  
      In this example if `a` is an ndarray, "fancy" indexing can be used.
  
      >>> a = np.array(a)
      >>> a[indices]
      array([4, 3, 6])
  
      """
      try:
          take = a.take
      except AttributeError:
          return _wrapit(a, 'take', indices, axis, out, mode)
      return take(indices, axis, out, mode)
function_tokens: def take ( a , indices , axis = None , out = None , mode = 'raise' ) : try : take = a . take except AttributeError : return _wrapit ( a , 'take' , indices , axis , out , mode ) return take ( indices , axis , out , mode )