Compute the Friedman test for repeated samples.

The Friedman test tests the null hypothesis that repeated samples of the same individuals have the same distribution. It is often used to test for consistency among samples obtained in different ways. For example, if two sampling techniques are used on the same set of individuals, the Friedman test can be used to determine if the two sampling techniques are consistent.

sample1, sample2, sample3…array_like

Arrays of observations. All of the arrays must have the same number of elements. At least three samples must be given.


The test statistic, correcting for ties.


The associated p-value assuming that the test statistic has a chi squared distribution.


Due to the assumption that the test statistic has a chi squared distribution, the p-value is only reliable for n > 10 and more than 6 repeated samples.



P. Sprent and N.C. Smeeton, “Applied Nonparametric Statistical Methods, Third Edition”. Chapter 6, Section 6.3.2.


In [2], the pulse rate (per minute) of a group of seven students was measured before exercise, immediately after exercise and 5 minutes after exercise. Is there evidence to suggest that the pulse rates on these three occasions are similar?

We begin by formulating a null hypothesis \(H_0\):

The pulse rates are identical on these three occasions.

Let’s assess the plausibility of this hypothesis with a Friedman test.

>>> from scipy.stats import friedmanchisquare
>>> before = [72, 96, 88, 92, 74, 76, 82]
>>> immediately_after = [120, 120, 132, 120, 101, 96, 112]
>>> five_min_after = [76, 95, 104, 96, 84, 72, 76]
>>> res = friedmanchisquare(before, immediately_after, five_min_after)
>>> res.statistic
>>> res.pvalue

Using a significance level of 5%, we would reject the null hypothesis in favor of the alternative hypothesis: “the pulse rates are different on these three occasions”.