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.