parameters: (
      values: np.ndarray,
      *,
      axis: int | None = None,
      skipna: bool = True,
      min_count: int = 0,
      mask: np.ndarray | None = None,
  )
return_statement: return _maybe_null_out(  # type: ignore[return-value]
          result, axis, mask, values.shape, min_count=min_count
      )
docstring: Parameters
      ----------
      values : ndarray[dtype]
      axis : int, optional
      skipna : bool, default True
      min_count: int, default 0
      mask : ndarray[bool], optional
          nan-mask if known
  
      Returns
      -------
      Dtype
          The product of all elements on a given axis. ( NaNs are treated as 1)
  
      Examples
      --------
      >>> import pandas.core.nanops as nanops
      >>> s = pd.Series([1, 2, 3, np.nan])
      >>> nanops.nanprod(s)
      6.0
docstring_summary: Parameters
      ----------
      values : ndarray[dtype]
      axis : int, optional
      skipna : bool, default True
      min_count: int, default 0
      mask : ndarray[bool], optional
          nan-mask if known
docstring_tokens: Parameters ---------- values : ndarray [ dtype ] axis : int optional skipna : bool default True min_count : int default 0 mask : ndarray [ bool ] optional nan - mask if known
function: def nanprod(
      values: np.ndarray,
      *,
      axis: int | None = None,
      skipna: bool = True,
      min_count: int = 0,
      mask: np.ndarray | None = None,
  ) -> float:
      """
      Parameters
      ----------
      values : ndarray[dtype]
      axis : int, optional
      skipna : bool, default True
      min_count: int, default 0
      mask : ndarray[bool], optional
          nan-mask if known
  
      Returns
      -------
      Dtype
          The product of all elements on a given axis. ( NaNs are treated as 1)
  
      Examples
      --------
      >>> import pandas.core.nanops as nanops
      >>> s = pd.Series([1, 2, 3, np.nan])
      >>> nanops.nanprod(s)
      6.0
      """
      mask = _maybe_get_mask(values, skipna, mask)
  
      if skipna and mask is not None:
          values = values.copy()
          values[mask] = 1
      result = values.prod(axis)
      # error: Incompatible return value type (got "Union[ndarray, float]", expected
      # "float")
      return _maybe_null_out(  # type: ignore[return-value]
          result, axis, mask, values.shape, min_count=min_count
      )
function_tokens: def nanprod ( values : np . ndarray , * , axis : int | None = None , skipna : bool = True , min_count : int = 0 , mask : np . ndarray | None = None , ) -> float : mask = _maybe_get_mask ( values , skipna , mask ) if skipna and mask is not None : values = values . copy ( ) values [ mask ] = 1 result = values . prod ( axis ) # error: Incompatible return value type (got "Union[ndarray, float]", expected # "float") return _maybe_null_out ( # type: ignore[return-value] result , axis , mask , values . shape , min_count = min_count )