Statistical functions (scipy.stats)¶
This module contains a large number of probability distributions as well as a growing library of statistical functions.
Each included distribution is an instance of the class rv_continous: For each given name the following methods are available:
rv_continuous([momtype, a, b, xtol, ...]) | A generic continuous random variable class meant for subclassing. |
rv_continuous.pdf(x, *args, **kwds) | Probability density function at x of the given RV. |
rv_continuous.logpdf(x, *args, **kwds) | Log of the probability density function at x of the given RV. |
rv_continuous.cdf(x, *args, **kwds) | Cumulative distribution function of the given RV. |
rv_continuous.logcdf(x, *args, **kwds) | Log of the cumulative distribution function at x of the given RV. |
rv_continuous.sf(x, *args, **kwds) | Survival function (1-cdf) at x of the given RV. |
rv_continuous.logsf(x, *args, **kwds) | Log of the survival function of the given RV. |
rv_continuous.ppf(q, *args, **kwds) | Percent point function (inverse of cdf) at q of the given RV. |
rv_continuous.isf(q, *args, **kwds) | Inverse survival function at q of the given RV. |
rv_continuous.moment(n, *args, **kwds) | n’th order non-central moment of distribution. |
rv_continuous.stats(*args, **kwds) | Some statistics of the given RV |
rv_continuous.entropy(*args, **kwds) | Differential entropy of the RV. |
rv_continuous.fit(data, *args, **kwds) | Return MLEs for shape, location, and scale parameters from data. |
rv_continuous.expect([func, args, loc, ...]) | Calculate expected value of a function with respect to the distribution. |
Calling the instance as a function returns a frozen pdf whose shape, location, and scale parameters are fixed.
Similarly, each discrete distribution is an instance of the class rv_discrete:
rv_discrete([a, b, name, badvalue, ...]) | A generic discrete random variable class meant for subclassing. |
rv_discrete.rvs(*args, **kwargs) | Random variates of given type. |
rv_discrete.pmf(k, *args, **kwds) | Probability mass function at k of the given RV. |
rv_discrete.logpmf(k, *args, **kwds) | Log of the probability mass function at k of the given RV. |
rv_discrete.cdf(k, *args, **kwds) | Cumulative distribution function of the given RV. |
rv_discrete.logcdf(k, *args, **kwds) | Log of the cumulative distribution function at k of the given RV |
rv_discrete.sf(k, *args, **kwds) | Survival function (1-cdf) at k of the given RV. |
rv_discrete.logsf(k, *args, **kwds) | Log of the survival function of the given RV. |
rv_discrete.ppf(q, *args, **kwds) | Percent point function (inverse of cdf) at q of the given RV |
rv_discrete.isf(q, *args, **kwds) | Inverse survival function (1-sf) at q of the given RV. |
rv_discrete.stats(*args, **kwds) | Some statistics of the given RV |
rv_discrete.moment(n, *args, **kwds) | n’th order non-central moment of distribution. |
rv_discrete.entropy(*args, **kwds) | Differential entropy of the RV. |
rv_discrete.expect([func, args, loc, lb, ...]) | Calculate expected value of a function with respect to the distribution |
Continuous distributions¶
alpha | An alpha continuous random variable. |
anglit | An anglit continuous random variable. |
arcsine | An arcsine continuous random variable. |
beta | A beta continuous random variable. |
betaprime | A beta prime continuous random variable. |
bradford | A Bradford continuous random variable. |
burr | A Burr continuous random variable. |
cauchy | A Cauchy continuous random variable. |
chi | A chi continuous random variable. |
chi2 | A chi-squared continuous random variable. |
cosine | A cosine continuous random variable. |
dgamma | A double gamma continuous random variable. |
dweibull | A double Weibull continuous random variable. |
erlang | An Erlang continuous random variable. |
expon | An exponential continuous random variable. |
exponweib | An exponentiated Weibull continuous random variable. |
exponpow | An exponential power continuous random variable. |
f | An F continuous random variable. |
fatiguelife | A fatigue-life (Birnbaum-Sanders) continuous random variable. |
fisk | A Fisk continuous random variable. |
foldcauchy | A folded Cauchy continuous random variable. |
foldnorm | A folded normal continuous random variable. |
frechet_r | A Frechet right (or Weibull minimum) continuous random variable. |
frechet_l | A Frechet left (or Weibull maximum) continuous random variable. |
genlogistic | A generalized logistic continuous random variable. |
genpareto | A generalized Pareto continuous random variable. |
genexpon | A generalized exponential continuous random variable. |
genextreme | A generalized extreme value continuous random variable. |
gausshyper | A Gauss hypergeometric continuous random variable. |
gamma | A gamma continuous random variable. |
gengamma | A generalized gamma continuous random variable. |
genhalflogistic | A generalized half-logistic continuous random variable. |
gilbrat | A Gilbrat continuous random variable. |
gompertz | A Gompertz (or truncated Gumbel) continuous random variable. |
gumbel_r | A right-skewed Gumbel continuous random variable. |
gumbel_l | A left-skewed Gumbel continuous random variable. |
halfcauchy | A Half-Cauchy continuous random variable. |
halflogistic | A half-logistic continuous random variable. |
halfnorm | A half-normal continuous random variable. |
hypsecant | A hyperbolic secant continuous random variable. |
invgamma | An inverted gamma continuous random variable. |
invgauss | An inverse Gaussian continuous random variable. |
invweibull | An inverted Weibull continuous random variable. |
johnsonsb | A Johnson SB continuous random variable. |
johnsonsu | A Johnson SU continuous random variable. |
ksone | General Kolmogorov-Smirnov one-sided test. |
kstwobign | Kolmogorov-Smirnov two-sided test for large N. |
laplace | A Laplace continuous random variable. |
logistic | A logistic (or Sech-squared) continuous random variable. |
loggamma | A log gamma continuous random variable. |
loglaplace | A log-Laplace continuous random variable. |
lognorm | A lognormal continuous random variable. |
lomax | A Lomax (Pareto of the second kind) continuous random variable. |
maxwell | A Maxwell continuous random variable. |
mielke | A Mielke’s Beta-Kappa continuous random variable. |
nakagami | A Nakagami continuous random variable. |
ncx2 | A non-central chi-squared continuous random variable. |
ncf | A non-central F distribution continuous random variable. |
nct | A non-central Student’s T continuous random variable. |
norm | A normal continuous random variable. |
pareto | A Pareto continuous random variable. |
pearson3 | A pearson type III continuous random variable. |
powerlaw | A power-function continuous random variable. |
powerlognorm | A power log-normal continuous random variable. |
powernorm | A power normal continuous random variable. |
rdist | An R-distributed continuous random variable. |
reciprocal | A reciprocal continuous random variable. |
rayleigh | A Rayleigh continuous random variable. |
rice | A Rice continuous random variable. |
recipinvgauss | A reciprocal inverse Gaussian continuous random variable. |
semicircular | A semicircular continuous random variable. |
t | A Student’s T continuous random variable. |
triang | A triangular continuous random variable. |
truncexpon | A truncated exponential continuous random variable. |
truncnorm | A truncated normal continuous random variable. |
tukeylambda | A Tukey-Lamdba continuous random variable. |
uniform | A uniform continuous random variable. |
vonmises | A Von Mises continuous random variable. |
wald | A Wald continuous random variable. |
weibull_min | A Frechet right (or Weibull minimum) continuous random variable. |
weibull_max | A Frechet left (or Weibull maximum) continuous random variable. |
wrapcauchy | A wrapped Cauchy continuous random variable. |
Multivariate distributions¶
multivariate_normal | A multivariate normal random variable. |
Discrete distributions¶
bernoulli | A Bernoulli discrete random variable. |
binom | A binomial discrete random variable. |
boltzmann | A Boltzmann (Truncated Discrete Exponential) random variable. |
dlaplace | A Laplacian discrete random variable. |
geom | A geometric discrete random variable. |
hypergeom | A hypergeometric discrete random variable. |
logser | A Logarithmic (Log-Series, Series) discrete random variable. |
nbinom | A negative binomial discrete random variable. |
planck | A Planck discrete exponential random variable. |
poisson | A Poisson discrete random variable. |
randint | A uniform discrete random variable. |
skellam | A Skellam discrete random variable. |
zipf | A Zipf discrete random variable. |
Statistical functions¶
Several of these functions have a similar version in scipy.stats.mstats which work for masked arrays.
describe(a[, axis]) | Computes several descriptive statistics of the passed array. |
gmean(a[, axis, dtype]) | Compute the geometric mean along the specified axis. |
hmean(a[, axis, dtype]) | Calculates the harmonic mean along the specified axis. |
kurtosis(a[, axis, fisher, bias]) | Computes the kurtosis (Fisher or Pearson) of a dataset. |
kurtosistest(a[, axis]) | Tests whether a dataset has normal kurtosis |
mode(a[, axis]) | Returns an array of the modal (most common) value in the passed array. |
moment(a[, moment, axis]) | Calculates the nth moment about the mean for a sample. |
normaltest(a[, axis]) | Tests whether a sample differs from a normal distribution. |
skew(a[, axis, bias]) | Computes the skewness of a data set. |
skewtest(a[, axis]) | Tests whether the skew is different from the normal distribution. |
tmean(a[, limits, inclusive]) | Compute the trimmed mean. |
tvar(a[, limits, inclusive]) | Compute the trimmed variance |
tmin(a[, lowerlimit, axis, inclusive]) | Compute the trimmed minimum |
tmax(a[, upperlimit, axis, inclusive]) | Compute the trimmed maximum |
tstd(a[, limits, inclusive]) | Compute the trimmed sample standard deviation |
tsem(a[, limits, inclusive]) | Compute the trimmed standard error of the mean. |
nanmean(x[, axis]) | Compute the mean over the given axis ignoring nans. |
nanstd(x[, axis, bias]) | Compute the standard deviation over the given axis, ignoring nans. |
nanmedian(x[, axis]) | Compute the median along the given axis ignoring nan values. |
variation(a[, axis]) | Computes the coefficient of variation, the ratio of the biased standard deviation to the mean. |
cumfreq(a[, numbins, defaultreallimits, weights]) | Returns a cumulative frequency histogram, using the histogram function. |
histogram2(a, bins) | Compute histogram using divisions in bins. |
histogram(a[, numbins, defaultlimits, ...]) | Separates the range into several bins and returns the number of instances in each bin. |
itemfreq(a) | Returns a 2-D array of item frequencies. |
percentileofscore(a, score[, kind]) | The percentile rank of a score relative to a list of scores. |
scoreatpercentile(a, per[, limit, ...]) | Calculate the score at a given percentile of the input sequence. |
relfreq(a[, numbins, defaultreallimits, weights]) | Returns a relative frequency histogram, using the histogram function. |
binned_statistic(x, values[, statistic, ...]) | Compute a binned statistic for a set of data. |
binned_statistic_2d(x, y, values[, ...]) | Compute a bidimensional binned statistic for a set of data. |
binned_statistic_dd(sample, values[, ...]) | Compute a multidimensional binned statistic for a set of data. |
obrientransform(*args) | Computes the O’Brien transform on input data (any number of arrays). |
signaltonoise(a[, axis, ddof]) | The signal-to-noise ratio of the input data. |
bayes_mvs(data[, alpha]) | Bayesian confidence intervals for the mean, var, and std. |
sem(a[, axis, ddof]) | Calculates the standard error of the mean (or standard error of measurement) of the values in the input array. |
zmap(scores, compare[, axis, ddof]) | Calculates the relative z-scores. |
zscore(a[, axis, ddof]) | Calculates the z score of each value in the sample, relative to the sample mean and standard deviation. |
sigmaclip(a[, low, high]) | Iterative sigma-clipping of array elements. |
threshold(a[, threshmin, threshmax, newval]) | Clip array to a given value. |
trimboth(a, proportiontocut[, axis]) | Slices off a proportion of items from both ends of an array. |
trim1(a, proportiontocut[, tail]) | Slices off a proportion of items from ONE end of the passed array distribution. |
f_oneway(*args) | Performs a 1-way ANOVA. |
pearsonr(x, y) | Calculates a Pearson correlation coefficient and the p-value for testing non-correlation. |
spearmanr(a[, b, axis]) | Calculates a Spearman rank-order correlation coefficient and the p-value to test for non-correlation. |
pointbiserialr(x, y) | Calculates a point biserial correlation coefficient and the associated p-value. |
kendalltau(x, y[, initial_lexsort]) | Calculates Kendall’s tau, a correlation measure for ordinal data. |
linregress(x[, y]) | Calculate a regression line |
ttest_1samp(a, popmean[, axis]) | Calculates the T-test for the mean of ONE group of scores. |
ttest_ind(a, b[, axis, equal_var]) | Calculates the T-test for the means of TWO INDEPENDENT samples of scores. |
ttest_rel(a, b[, axis]) | Calculates the T-test on TWO RELATED samples of scores, a and b. |
kstest(rvs, cdf[, args, N, alternative, mode]) | Perform the Kolmogorov-Smirnov test for goodness of fit. |
chisquare(f_obs[, f_exp, ddof, axis]) | Calculates a one-way chi square test. |
power_divergence(f_obs[, f_exp, ddof, axis, ...]) | Cressie-Read power divergence statistic and goodness of fit test. |
ks_2samp(data1, data2) | Computes the Kolmogorov-Smirnov statistic on 2 samples. |
mannwhitneyu(x, y[, use_continuity]) | Computes the Mann-Whitney rank test on samples x and y. |
tiecorrect(rankvals) | Tie correction factor for ties in the Mann-Whitney U and Kruskal-Wallis H tests. |
rankdata(a[, method]) | Assign ranks to data, dealing with ties appropriately. |
ranksums(x, y) | Compute the Wilcoxon rank-sum statistic for two samples. |
wilcoxon(x[, y, zero_method, correction]) | Calculate the Wilcoxon signed-rank test. |
kruskal(*args) | Compute the Kruskal-Wallis H-test for independent samples |
friedmanchisquare(*args) | Computes the Friedman test for repeated measurements |
ansari(x, y) | Perform the Ansari-Bradley test for equal scale parameters |
bartlett(*args) | Perform Bartlett’s test for equal variances |
levene(*args, **kwds) | Perform Levene test for equal variances. |
shapiro(x[, a, reta]) | Perform the Shapiro-Wilk test for normality. |
anderson(x[, dist]) | Anderson-Darling test for data coming from a particular distribution |
anderson_ksamp(samples[, midrank]) | The Anderson-Darling test for k-samples. |
binom_test(x[, n, p]) | Perform a test that the probability of success is p. |
fligner(*args, **kwds) | Perform Fligner’s test for equal variances. |
mood(x, y[, axis]) | Perform Mood’s test for equal scale parameters. |
boxcox(x[, lmbda, alpha]) | Return a positive dataset transformed by a Box-Cox power transformation. |
boxcox_normmax(x[, brack, method]) | Compute optimal Box-Cox transform parameter for input data. |
boxcox_llf(lmb, data) | The boxcox log-likelihood function. |
entropy(pk[, qk, base]) | Calculate the entropy of a distribution for given probability values. |
Contingency table functions¶
chi2_contingency(observed[, correction, lambda_]) | Chi-square test of independence of variables in a contingency table. |
contingency.expected_freq(observed) | Compute the expected frequencies from a contingency table. |
contingency.margins(a) | Return a list of the marginal sums of the array a. |
fisher_exact(table[, alternative]) | Performs a Fisher exact test on a 2x2 contingency table. |
Plot-tests¶
ppcc_max(x[, brack, dist]) | Returns the shape parameter that maximizes the probability plot correlation coefficient for the given data to a one-parameter family of distributions. |
ppcc_plot(x, a, b[, dist, plot, N]) | Returns (shape, ppcc), and optionally plots shape vs. |
probplot(x[, sparams, dist, fit, plot]) | Calculate quantiles for a probability plot, and optionally show the plot. |
boxcox_normplot(x, la, lb[, plot, N]) | Compute parameters for a Box-Cox normality plot, optionally show it. |
Masked statistics functions¶
- Statistical functions for masked arrays (scipy.stats.mstats)
- scipy.stats.mstats.argstoarray
- scipy.stats.mstats.betai
- scipy.stats.mstats.chisquare
- scipy.stats.mstats.count_tied_groups
- scipy.stats.mstats.describe
- scipy.stats.mstats.f_oneway
- scipy.stats.mstats.f_value_wilks_lambda
- scipy.stats.mstats.find_repeats
- scipy.stats.mstats.friedmanchisquare
- scipy.stats.mstats.kendalltau
- scipy.stats.mstats.kendalltau_seasonal
- scipy.stats.mstats.kruskalwallis
- scipy.stats.mstats.kruskalwallis
- scipy.stats.mstats.ks_twosamp
- scipy.stats.mstats.ks_twosamp
- scipy.stats.mstats.kurtosis
- scipy.stats.mstats.kurtosistest
- scipy.stats.mstats.linregress
- scipy.stats.mstats.mannwhitneyu
- scipy.stats.mstats.plotting_positions
- scipy.stats.mstats.mode
- scipy.stats.mstats.moment
- scipy.stats.mstats.mquantiles
- scipy.stats.mstats.msign
- scipy.stats.mstats.normaltest
- scipy.stats.mstats.obrientransform
- scipy.stats.mstats.pearsonr
- scipy.stats.mstats.plotting_positions
- scipy.stats.mstats.pointbiserialr
- scipy.stats.mstats.rankdata
- scipy.stats.mstats.scoreatpercentile
- scipy.stats.mstats.sem
- scipy.stats.mstats.signaltonoise
- scipy.stats.mstats.skew
- scipy.stats.mstats.skewtest
- scipy.stats.mstats.spearmanr
- scipy.stats.mstats.theilslopes
- scipy.stats.mstats.threshold
- scipy.stats.mstats.tmax
- scipy.stats.mstats.tmean
- scipy.stats.mstats.tmin
- scipy.stats.mstats.trim
- scipy.stats.mstats.trima
- scipy.stats.mstats.trimboth
- scipy.stats.mstats.trimmed_stde
- scipy.stats.mstats.trimr
- scipy.stats.mstats.trimtail
- scipy.stats.mstats.tsem
- scipy.stats.mstats.ttest_onesamp
- scipy.stats.mstats.ttest_ind
- scipy.stats.mstats.ttest_onesamp
- scipy.stats.mstats.ttest_rel
- scipy.stats.mstats.tvar
- scipy.stats.mstats.variation
- scipy.stats.mstats.winsorize
- scipy.stats.mstats.zmap
- scipy.stats.mstats.zscore
Univariate and multivariate kernel density estimation (scipy.stats.kde)¶
gaussian_kde(dataset[, bw_method]) | Representation of a kernel-density estimate using Gaussian kernels. |
For many more stat related functions install the software R and the interface package rpy.