New submission from W deW <felixfilici...@gmail.com>:

The 0.5-quantile or median is defined for ordinal, interval, and ratio scales. 
An Enumerator as derived from Enum and extended with rich comparison methods 
implements an ordinal scale. Therefore calculating the median over a list of 
such enum-elements ought to be possible.

The current implementation tries to interpolate the median value by averaging 
the two middle observations. This is allowed for interval and ratio scales, but 
since this interpolation involves an addition, not so for ordinal scales. 
Although computationally it is possible to do this for numeric ordinal 
variables, logically it is non-sense for the distance between ordinal values is 
- by definition - unknown. On non-numeric ordinal values it is even 
computationally impossible.

The correct return value would be: the first value in an ordered set where al 
least half the number of observations is smaller or equal than it. This is 
observation[len(observation)//2] for odd and even length ordered lists of 
values.

Whether the same applies to interval and ratio scales is a matter of opinion. 
The currently implemented algorith definitely is more popular these days.

----------
components: Library (Lib)
files: testMedian.py
messages: 317048
nosy: W deW
priority: normal
severity: normal
status: open
title: statistics.median does not work with ordinal scale
type: crash
versions: Python 3.4
Added file: https://bugs.python.org/file47601/testMedian.py

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33573>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to