summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/statistics.rst16
-rw-r--r--Lib/statistics.py10
-rw-r--r--Lib/test/test_statistics.py6
3 files changed, 26 insertions, 6 deletions
diff --git a/Doc/library/statistics.rst b/Doc/library/statistics.rst
index c1be295..a0d4d39 100644
--- a/Doc/library/statistics.rst
+++ b/Doc/library/statistics.rst
@@ -488,13 +488,17 @@ of applications in statistics, including simulations and hypothesis testing.
If *sigma* is negative, raises :exc:`StatisticsError`.
- .. attribute:: mu
+ .. attribute:: mean
- The mean of a normal distribution.
+ A read-only property representing the `arithmetic mean
+ <https://en.wikipedia.org/wiki/Arithmetic_mean>`_ of a normal
+ distribution.
- .. attribute:: sigma
+ .. attribute:: stdev
- The standard deviation of a normal distribution.
+ A read-only property representing the `standard deviation
+ <https://en.wikipedia.org/wiki/Standard_deviation>`_ of a normal
+ distribution.
.. attribute:: variance
@@ -566,8 +570,8 @@ of applications in statistics, including simulations and hypothesis testing.
>>> birth_weights = NormalDist.from_samples([2.5, 3.1, 2.1, 2.4, 2.7, 3.5])
>>> drug_effects = NormalDist(0.4, 0.15)
>>> combined = birth_weights + drug_effects
- >>> f'mu={combined.mu :.1f} sigma={combined.sigma :.1f}'
- 'mu=3.1 sigma=0.5'
+ >>> f'mean: {combined.mean :.1f} standard deviation: {combined.stdev :.1f}'
+ 'mean: 3.1 standard deviation: 0.5'
.. versionadded:: 3.8
diff --git a/Lib/statistics.py b/Lib/statistics.py
index bf10e19..bab5857 100644
--- a/Lib/statistics.py
+++ b/Lib/statistics.py
@@ -741,6 +741,16 @@ class NormalDist:
return 0.5 * (1.0 + erf((x - self.mu) / (self.sigma * sqrt(2.0))))
@property
+ def mean(self):
+ 'Arithmetic mean of the normal distribution'
+ return self.mu
+
+ @property
+ def stdev(self):
+ 'Standard deviation of the normal distribution'
+ return self.sigma
+
+ @property
def variance(self):
'Square of the standard deviation'
return self.sigma ** 2.0
diff --git a/Lib/test/test_statistics.py b/Lib/test/test_statistics.py
index 9549240..d35cdd8 100644
--- a/Lib/test/test_statistics.py
+++ b/Lib/test/test_statistics.py
@@ -2128,6 +2128,12 @@ class TestNormalDist(unittest.TestCase):
with self.assertRaises(statistics.StatisticsError):
Y.cdf(90)
+ def test_properties(self):
+ X = statistics.NormalDist(100, 15)
+ self.assertEqual(X.mean, 100)
+ self.assertEqual(X.stdev, 15)
+ self.assertEqual(X.variance, 225)
+
def test_unary_operations(self):
NormalDist = statistics.NormalDist
X = NormalDist(100, 12)