Open In App

# median_low() function in Python statistics module

Median is often referred to as the robust measure of the central location and is less affected by the presence of outliers in data. statistics module in Python allows three options to deal with median / middle elements in a data set, which are median(), median_low() and median_high(). The low median is always a member of the data set. When the number of data points is odd, the middle value is returned. When it is even, the smaller of the two middle values is returned. Let’s see how median_low() works.

Syntax : median_low( [data-set] )

Parameters : [data-set] : Takes in a list, tuple or an iterable set of numeric data.

Returntype : Returns the low median of numeric data. Low median is a member of actual data-set.

Exceptions : StatisticsError is raised when data-set is empty.

Code #1 : Working

## Python3

 `# Python code to demonstrate the``# working of median_low()` `# importing the statistics module``import` `statistics` `# simple list of a set of integers``set1 ``=` `[``1``, ``3``, ``3``, ``4``, ``5``, ``7``]` `# Note: low median will always be``#        a member of the data-set.` `# Print low median of the data-set``print``("Low median of the data``-``set` `is` `%` `s "``        ``%` `(statistics.median_low(set1)))`

Output :

`Low median of the data-set is 3 `

Code #2 : Working of median_low() and median to distinguish between them.

## Python3

 `# Python code to demonstrate the``# working of median_low()` `# importing the statistics module``import` `statistics` `# simple list of a set of integers``set1 ``=` `[``1``, ``3``, ``3``, ``4``, ``5``, ``7``]` `# Print median of the data-set` `# Median value may or may not``# lie within the data-set``print``("Median of the ``set` `is` `%` `s"``      ``%` `(statistics.median(set1)))` `# Print low median of the data-set``print``("Low Median of the ``set` `is` `%` `s "``       ``%` `(statistics.median_low(set1)))`

Output :

```Median of the set is 3.5
Low Median of the set is 3 ```

Code #3 : Working of median_low() on a varying range of data-set

## Python3

 `# Python code to demonstrate the``# working of median_low()` `# importing statistics module``from` `statistics ``import` `median_low` `# Importing fractions module as fr``from` `fractions ``import` `Fraction as fr` `# tuple of positive integer numbers``data1 ``=` `(``2``, ``3``, ``4``, ``5``, ``7``, ``9``, ``11``)` `# tuple of a set of floating-point values``data2 ``=` `(``2.4``, ``5.1``, ``6.7``, ``8.9``)` `# tuple of a set of fractional numbers``data3 ``=` `(fr(``1``, ``2``), fr(``44``, ``12``),``         ``fr(``10``, ``3``), fr(``2``, ``3``))` `# tuple of a set of negative integers``data4 ``=` `(``-``5``, ``-``1``, ``-``12``, ``-``19``, ``-``3``)` `# tuple of set of positive``# and negative integers``data5 ``=` `(``-``1``, ``-``2``, ``-``3``, ``-``4``, ``4``, ``3``, ``2``, ``1``)` `# Print low_median() of given data-sets``print``("Low Median of data``-``set` `1` `is` `%` `s" ``%` `(median_low(data1)))``print``("Low Median of data``-``set` `2` `is` `%` `s" ``%` `(median_low(data2)))``print``("Low Median of data``-``set` `3` `is` `%` `s" ``%` `(median_low(data3)))``print``("Low Median of data``-``set` `4` `is` `%` `s" ``%` `(median_low(data4)))``print``("Low Median of data``-``set` `5` `is` `%` `s" ``%` `(median_low(data5)))`

Output :

```Low Median of data-set 1 is 5
Low Median of data-set 2 is 5.1
Low Median of data-set 3 is 2/3
Low Median of data-set 4 is -5
Low Median of data-set 5 is -1```

Code #4 : Raising StatisticsError

## Python3

 `# Python code to demonstrate``# StatisticsError of median_low()` `# importing the statistics module``from` `statistics ``import` `median_low` `# creating an empty data-set``empty ``=` `[]` `# will raise StatisticsError``print``(median_low(empty))`

Output :

```Traceback (most recent call last):
File "/home/5f3e758236f872d014f9d741743c30a4.py", line 10, in
print(median_low(empty))
File "/usr/lib/python3.5/statistics.py", line 376, in median_low
raise StatisticsError("no median for empty data")
statistics.StatisticsError: no median for empty data```

Applications : median_low() is used when the data is discrete and prefer median to be actual point in data rather than an extrapolated one.