### Navigation

- index
- modules |
- next |
- previous |
- SciPy v0.7 Reference Guide (DRAFT) »
- Statistical functions (`scipy.stats`) »

# scipy.stats.randint

`scipy.stats.``randint`()

  A discrete uniform (random integer) discrete random variable.

  Discrete random variables are defined from a standard form and may require some shape parameters to complete its specification. Any optional keyword parameters can be passed to the methods of the RV object as given below:

  Methods: | randint.rvs(min,max,loc=0,size=1) : random variates randint.pmf(x,min,max,loc=0) : probability mass function randint.cdf(x,min,max,loc=0) : cumulative density function randint.sf(x,min,max,loc=0) : survival function (1-cdf — sometimes more accurate) randint.ppf(q,min,max,loc=0) : percent point function (inverse of cdf — percentiles) randint.isf(q,min,max,loc=0) : inverse survival function (inverse of sf) randint.stats(min,max,loc=0,moments=’mv’) : mean(‘m’,axis=0), variance(‘v’), skew(‘s’), and/or kurtosis(‘k’) randint.entropy(min,max,loc=0) : entropy of the RV Alternatively, the object may be called (as a function) to fix : the shape and location parameters returning a : “frozen” discrete RV object: : myrv = randint(min,max,loc=0) : frozen RV object with the same methods but holding the given shape and location fixed. You can construct an aribtrary discrete rv where P{X=xk} = pk : by passing to the rv_discrete initialization method (through the values= : keyword) a tuple of sequences (xk,pk) which describes only those values of : X (xk) that occur with nonzero probability (pk). :

  Examples

      >>> import matplotlib.pyplot as plt
      >>> numargs = randint.numargs
      >>> [ min,max ] = ['Replace with resonable value',]*numargs

  Display frozen pmf:

      >>> rv = randint(min,max)
      >>> x = np.arange(0,np.min(rv.dist.b,3)+1)
      >>> h = plt.plot(x,rv.pmf(x))

  Check accuracy of cdf and ppf:

      >>> prb = randint.cdf(x,min,max)
      >>> h = plt.semilogy(np.abs(x-randint.ppf(prb,min,max))+1e-20)

  Random number generation:

      >>> R = randint.rvs(min,max,size=100)

  Custom made discrete distribution:

      >>> vals = [arange(7),(0.1,0.2,0.3,0.1,0.1,0.1,0.1)]
      >>> custm = rv_discrete(name='custm',values=vals)
      >>> h = plt.plot(vals[0],custm.pmf(vals[0]))

  Discrete Uniform

  > Random integers >=min and <max.

  > randint.pmf(k,min, max) = 1/(max-min) for min <= k < max.

### Navigation

- index
- modules |
- next |
- previous |
- SciPy v0.7 Reference Guide (DRAFT) »
- Statistical functions (`scipy.stats`) »