scipy.stats.f_oneway¶

scipy.stats.
f_oneway
(\*args)[source]¶ Perform oneway ANOVA.
The oneway ANOVA tests the null hypothesis that two or more groups have the same population mean. The test is applied to samples from two or more groups, possibly with differing sizes.
 Parameters
 sample1, sample2, …array_like
The sample measurements for each group.
 Returns
 statisticfloat
The computed Fvalue of the test.
 pvaluefloat
The associated pvalue from the Fdistribution.
 Warns
 F_onewayConstantInputWarning
Raised if each of the input arrays is constant array. In this case Fvalue is either infinite or isn’t defined, so
np.inf
ornp.nan
is returned for Fvalue
Notes
The ANOVA test has important assumptions that must be satisfied in order for the associated pvalue to be valid.
The samples are independent.
Each sample is from a normally distributed population.
The population standard deviations of the groups are all equal. This property is known as homoscedasticity.
If these assumptions are not true for a given set of data, it may still be possible to use the KruskalWallis Htest (
scipy.stats.kruskal
) although with some loss of power.If each group is made of constant values, and
 There exist at least two groups with different values
the function returns (
np.inf
, 0)
All values in all groups are the same, function returns (
np.nan
,np.nan
)
The algorithm is from Heiman[2], pp.3947.
References
 1
R. Lowry, “Concepts and Applications of Inferential Statistics”, Chapter 14, 2014, http://vassarstats.net/textbook/
 2
G.W. Heiman, “Understanding research methods and statistics: An integrated introduction for psychology”, Houghton, Mifflin and Company, 2001.
 3
G.H. McDonald, “Handbook of Biological Statistics”, Oneway ANOVA. http://www.biostathandbook.com/onewayanova.html
Examples
>>> import scipy.stats as stats
[3] Here are some data on a shell measurement (the length of the anterior adductor muscle scar, standardized by dividing by length) in the mussel Mytilus trossulus from five locations: Tillamook, Oregon; Newport, Oregon; Petersburg, Alaska; Magadan, Russia; and Tvarminne, Finland, taken from a much larger data set used in McDonald et al. (1991).
>>> tillamook = [0.0571, 0.0813, 0.0831, 0.0976, 0.0817, 0.0859, 0.0735, ... 0.0659, 0.0923, 0.0836] >>> newport = [0.0873, 0.0662, 0.0672, 0.0819, 0.0749, 0.0649, 0.0835, ... 0.0725] >>> petersburg = [0.0974, 0.1352, 0.0817, 0.1016, 0.0968, 0.1064, 0.105] >>> magadan = [0.1033, 0.0915, 0.0781, 0.0685, 0.0677, 0.0697, 0.0764, ... 0.0689] >>> tvarminne = [0.0703, 0.1026, 0.0956, 0.0973, 0.1039, 0.1045] >>> stats.f_oneway(tillamook, newport, petersburg, magadan, tvarminne) (7.1210194716424473, 0.00028122423145345439)