parameters: (self, axis=None, dtype=None, out=None, keepdims=np._NoValue)
return_statement: return out
docstring: Return the product of the array elements over the given axis.
  
          Masked elements are set to 1 internally for computation.
  
          Refer to `numpy.prod` for full documentation.
  
          Notes
          -----
          Arithmetic is modular when using integer types, and no error is raised
          on overflow.
  
          See Also
          --------
          numpy.ndarray.prod : corresponding function for ndarrays
          numpy.prod : equivalent function
docstring_summary: Return the product of the array elements over the given axis.
docstring_tokens: Return the product of the array elements over the given axis .
function: def prod(self, axis=None, dtype=None, out=None, keepdims=np._NoValue):
          """
          Return the product of the array elements over the given axis.
  
          Masked elements are set to 1 internally for computation.
  
          Refer to `numpy.prod` for full documentation.
  
          Notes
          -----
          Arithmetic is modular when using integer types, and no error is raised
          on overflow.
  
          See Also
          --------
          numpy.ndarray.prod : corresponding function for ndarrays
          numpy.prod : equivalent function
          """
          kwargs = {} if keepdims is np._NoValue else {'keepdims': keepdims}
  
          _mask = self._mask
          newmask = _check_mask_axis(_mask, axis, **kwargs)
          # No explicit output
          if out is None:
              result = self.filled(1).prod(axis, dtype=dtype, **kwargs)
              rndim = getattr(result, 'ndim', 0)
              if rndim:
                  result = result.view(type(self))
                  result.__setmask__(newmask)
              elif newmask:
                  result = masked
              return result
          # Explicit output
          result = self.filled(1).prod(axis, dtype=dtype, out=out, **kwargs)
          if isinstance(out, MaskedArray):
              outmask = getmask(out)
              if outmask is nomask:
                  outmask = out._mask = make_mask_none(out.shape)
              outmask.flat = newmask
          return out
function_tokens: def prod ( self , axis = None , dtype = None , out = None , keepdims = np . _NoValue ) : kwargs = { } if keepdims is np . _NoValue else { 'keepdims' : keepdims } _mask = self . _mask newmask = _check_mask_axis ( _mask , axis , * * kwargs ) # No explicit output if out is None : result = self . filled ( 1 ) . prod ( axis , dtype = dtype , * * kwargs ) rndim = getattr ( result , 'ndim' , 0 ) if rndim : result = result . view ( type ( self ) ) result . __setmask__ ( newmask ) elif newmask : result = masked return result # Explicit output result = self . filled ( 1 ) . prod ( axis , dtype = dtype , out = out , * * kwargs ) if isinstance ( out , MaskedArray ) : outmask = getmask ( out ) if outmask is nomask : outmask = out . _mask = make_mask_none ( out . shape ) outmask . flat = newmask return out