code: def poisson(lam=1, shape=_Null, dtype=_Null, **kwargs):
      
      return _random_helper(_internal._random_poisson, _internal._sample_poisson,
                            [lam], shape, dtype, kwargs)
docs: Draw random samples from a Poisson distribution.
  
      Samples are distributed according to a Poisson distribution parametrized
      by *lambda* (rate). Samples will always be returned as a floating point data type.
  
      Parameters
      ----------
      lam : float or Symbol, optional
          Expectation of interval, should be >= 0.
      shape : int or tuple of ints, optional
          The number of samples to draw. If shape is, e.g., `(m, n)` and `lam` is
          a scalar, output shape will be `(m, n)`. If `lam`
          is an Symbol with shape, e.g., `(x, y)`, then output will have shape
          `(x, y, m, n)`, where `m*n` samples are drawn for each entry in `lam`.
      dtype : {'float16', 'float32', 'float64'}, optional
          Data type of output samples. Default is 'float32'
  
      Returns
      -------
      Symbol
          If input `shape` has dimensions, e.g., `(m, n)`, and `lam` is
          a scalar, output shape will be `(m, n)`. If `lam`
          is an Symbol with shape, e.g., `(x, y)`, then output will have shape
          `(x, y, m, n)`, where `m*n` samples are drawn for each entry in `lam`.