Staging
v0.5.1
https://github.com/python/cpython
Revision 9e456bc70e7bc9ee9726d356d7167457e585fd4c authored by Raymond Hettinger on 24 February 2019, 19:44:55 UTC, committed by Miss Islington (bot) on 24 February 2019, 19:44:55 UTC


Responding to suggestions on the tracker and some off-line suggestions.

Davin suggested that english named accessors instead of greek letters would result in more intelligible user code. Steven suggested that the parameters still need to be *mu* and *theta* which are used elsewhere (and I noted those parameter names are used in linked-to resources). 

Michael suggested proving-out the API by seeing whether it generalized to *Lognormal*.  I did so and found that Lognormal distribution parameters *mu* and *sigma*  do not represent the mean and standard deviation of the lognormal distribution (instead, they are for the underlying regular normal distribution).

Putting these ideas together, we have NormalDist parameterized by *mu* and *sigma* but offering English named properties for accessors.  That gives lets us match other API that access mu and sigma, it matches the external resources on the topic, gives us clear english names in user code. The API extends nicely to LogNormal where the parameters and the summary statistic accessors are not the same.


https://bugs.python.org/issue36018
1 parent a875ea5
History
Tip revision: 9e456bc70e7bc9ee9726d356d7167457e585fd4c authored by Raymond Hettinger on 24 February 2019, 19:44:55 UTC
bpo-36018: Add properties for mean and stdev (GH-12022)
Tip revision: 9e456bc
File Mode Size
cpython
internal
Python-ast.h -rw-r--r-- 25.7 KB
Python.h -rw-r--r-- 3.5 KB
abstract.h -rw-r--r-- 29.7 KB
asdl.h -rw-r--r-- 1.2 KB
ast.h -rw-r--r-- 948 bytes
bitset.h -rw-r--r-- 810 bytes
bltinmodule.h -rw-r--r-- 264 bytes
boolobject.h -rw-r--r-- 886 bytes
bytearrayobject.h -rw-r--r-- 2.1 KB
bytes_methods.h -rw-r--r-- 3.2 KB
bytesobject.h -rw-r--r-- 8.3 KB
cellobject.h -rw-r--r-- 713 bytes
ceval.h -rw-r--r-- 8.5 KB
classobject.h -rw-r--r-- 1.6 KB
code.h -rw-r--r-- 5.9 KB
codecs.h -rw-r--r-- 6.6 KB
compile.h -rw-r--r-- 3.0 KB
complexobject.h -rw-r--r-- 1.8 KB
context.h -rw-r--r-- 2.0 KB
coreconfig.h -rw-r--r-- 13.3 KB
datetime.h -rw-r--r-- 9.0 KB
descrobject.h -rw-r--r-- 3.1 KB
dictobject.h -rw-r--r-- 3.6 KB
dtoa.h -rw-r--r-- 458 bytes
dynamic_annotations.h -rw-r--r-- 21.9 KB
enumobject.h -rw-r--r-- 253 bytes
errcode.h -rw-r--r-- 1.7 KB
eval.h -rw-r--r-- 1.2 KB
fileobject.h -rw-r--r-- 1.8 KB
fileutils.h -rw-r--r-- 3.9 KB
floatobject.h -rw-r--r-- 4.7 KB
frameobject.h -rw-r--r-- 3.2 KB
funcobject.h -rw-r--r-- 4.1 KB
genobject.h -rw-r--r-- 3.6 KB
graminit.h -rw-r--r-- 2.1 KB
grammar.h -rw-r--r-- 2.3 KB
import.h -rw-r--r-- 4.9 KB
intrcheck.h -rw-r--r-- 861 bytes
iterobject.h -rw-r--r-- 567 bytes
listobject.h -rw-r--r-- 2.9 KB
longintrepr.h -rw-r--r-- 3.7 KB
longobject.h -rw-r--r-- 8.8 KB
marshal.h -rw-r--r-- 803 bytes
memoryobject.h -rw-r--r-- 2.7 KB
metagrammar.h -rw-r--r-- 253 bytes
methodobject.h -rw-r--r-- 4.4 KB
modsupport.h -rw-r--r-- 8.7 KB
moduleobject.h -rw-r--r-- 2.3 KB
namespaceobject.h -rw-r--r-- 349 bytes
node.h -rw-r--r-- 1.3 KB
object.h -rw-r--r-- 27.5 KB
objimpl.h -rw-r--r-- 10.2 KB
odictobject.h -rw-r--r-- 1.3 KB
opcode.h -rw-r--r-- 5.0 KB
osdefs.h -rw-r--r-- 691 bytes
osmodule.h -rw-r--r-- 291 bytes
parsetok.h -rw-r--r-- 2.9 KB
patchlevel.h -rw-r--r-- 1.3 KB
pgen.h -rw-r--r-- 253 bytes
pgenheaders.h -rw-r--r-- 1.2 KB
py_curses.h -rw-r--r-- 2.4 KB
pyarena.h -rw-r--r-- 2.7 KB
pycapsule.h -rw-r--r-- 1.7 KB
pyctype.h -rw-r--r-- 1.3 KB
pydebug.h -rw-r--r-- 1.2 KB
pydtrace.d -rw-r--r-- 969 bytes
pydtrace.h -rw-r--r-- 2.2 KB
pyerrors.h -rw-r--r-- 12.8 KB
pyexpat.h -rw-r--r-- 2.4 KB
pyfpe.h -rw-r--r-- 341 bytes
pyhash.h -rw-r--r-- 4.0 KB
pylifecycle.h -rw-r--r-- 2.0 KB
pymacconfig.h -rw-r--r-- 2.9 KB
pymacro.h -rw-r--r-- 3.5 KB
pymath.h -rw-r--r-- 8.1 KB
pymem.h -rw-r--r-- 8.5 KB
pyport.h -rw-r--r-- 27.7 KB
pystate.h -rw-r--r-- 4.4 KB
pystrcmp.h -rw-r--r-- 436 bytes
pystrhex.h -rw-r--r-- 495 bytes
pystrtod.h -rw-r--r-- 1.4 KB
pythonrun.h -rw-r--r-- 6.1 KB
pythread.h -rw-r--r-- 5.2 KB
pytime.h -rw-r--r-- 8.7 KB
rangeobject.h -rw-r--r-- 629 bytes
setobject.h -rw-r--r-- 3.3 KB
sliceobject.h -rw-r--r-- 2.4 KB
structmember.h -rw-r--r-- 2.0 KB
structseq.h -rw-r--r-- 1.3 KB
symtable.h -rw-r--r-- 4.9 KB
sysmodule.h -rw-r--r-- 1.3 KB
token.h -rw-r--r-- 2.3 KB
traceback.h -rw-r--r-- 3.6 KB
tracemalloc.h -rw-r--r-- 1.1 KB
tupleobject.h -rw-r--r-- 1.6 KB
typeslots.h -rw-r--r-- 2.2 KB
ucnhash.h -rw-r--r-- 1.0 KB
unicodeobject.h -rw-r--r-- 35.3 KB
warnings.h -rw-r--r-- 1.7 KB
weakrefobject.h -rw-r--r-- 2.8 KB

back to top