median_grouped() function in Python statistics module

30 May, 2022
Coming to Statistical functions, median of a data-set is the measure of robust central tendency, which is less affected by the presence of outliers in data. As seen previously, medians of an ungrouped data-set using median(), median_high(), median_low() functions. Python gives the option to calculate the median of grouped and continuous data function as well and this is the best part about this robust and convenient language. median_grouped() function under the Statistics module, helps to calculate median value from a set of continuous data.The data are assumed to be grouped into intervals of width intervals. Each data point in the array is the midpoint of the interval containing the true value. The median is calculated by interpolation within the median interval (the interval containing the median value), assuming that the true values within that interval are distributed uniformly : 
median = L + interval * (N / 2 - CF) / FL = lower limit of the median interval
N = total number of data points
CF = number of data points below the median interval
F = number of data points in the median interval
 
Syntax : median_grouped( [data-set], interval)Parameters : [data-set] : List or tuple or an iterable with a set of numeric values. interval (1 by default) : Determines the width of grouped data and changing. It will also change the interpolation of calculated median.Returntype : Return the median of grouped continuous data, calculated as 50th percentile.Exceptions : StatisticsError is raised when iterable passed is empty or when list is null.  
  Code #1 :  
Python3
# Python3 code to demonstrate median_grouped() # importing median_grouped from# the statistics modulefrom statistics import median_grouped # creating an simple data-setdata1 = [15, 20, 25, 30, 35] # printing median_grouped for the setprint("Grouped Median of the median is %s"                %(median_grouped(data1)))
Output :  
Grouped Median of the median is 25.0
  Code #2 : Working of median_grouped on a range of varying data  
Python3
# Python code to demonstrate the# working of median_grouped() # importing statistics modulefrom statistics import median_grouped # tuple of a set of positive integersset1 = [2, 5, 3, 4, 8, 9] # tuple of a set of negative integersset2 = [-6, -2, -9, -12] # tuple of a set of positive# and negative integersset3 = [2, 4, 8, 9, -2, -3, -5, -6] # Printing grouped median for# the given set of dataprint("Grouped Median of set 1 is % s" % (median_grouped(set1)))print("Grouped Median of set 2 is % s" % (median_grouped(set2)))print("Grouped Median of set 3 is % s" % (median_grouped(set3)))
Output :  
Grouped Median of set 1 is 4.5
Grouped Median of set 2 is -6.5
Grouped Median of set 3 is 1.5
  Code #3 : Working of interval  
Python3
# Python code to demonstrate the working of# interval in median_grouped() function # importing statistics modulefrom statistics import median_grouped # creating a tuple of simple dataset1 = (10, 12, 13, 12, 13, 15) # Printing median_grouped()# keeping default interval at 1print("Grouped Median for Interval set as "\      "(default) 1 is % s" %(median_grouped(set1))) # For interval value of 2print("Grouped Median for Interval set as "\      "2 is % s" %(median_grouped(set1, interval = 2))) # Now for interval value of 5print("Grouped Median for Interval set as "\      "5 is % s" %(median_grouped(set1, interval = 5)))
Output :  
Grouped Median for Interval set as (default) 1 is 12.5
Grouped Median for Interval set as 2 is 12.0
Grouped Median for Interval set as 5 is 10.5
Grouped Median for Interval set as 10 is 8.0
  Note : Observe a pattern that as the interval value is increased the median value decreases.   Code #4 : Demonstrates StatisticsError  
Python3
# Python code to demonstrate StatisticsError # importing the statistics moduleimport statistics # creating an empty datasetlist1 = [] # Will raise StatisticsErrorprint(statistics.median_grouped(list1))
Output :  
Traceback (most recent call last):
  File "/home/0990a4a3f5206c7cd12a596cf82a1587.py", line 10, in 
    print(statistics.median_grouped(list1))
  File "/usr/lib/python3.5/statistics.py", line 431, in median_grouped
    raise StatisticsError("no median for empty data")
statistics.StatisticsError: no median for empty data
  Applications : Grouped Median has all the same applications as median. It is commonly used in calculations where large number of data is involved like banking and finance. It is an essential part of statistics which is the most powerful tool in data calculation. 
simmytarika5
Python-Built-in-functions
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Install PIP on Windows ?
Python Classes and Objects
Python OOPs Concepts
Introduction To PYTHON
How to drop one or multiple columns in Pandas Dataframe
Python | os.path.join() method
Check if element exists in list in Python
How To Convert Python Dictionary To JSON?
Python | Get unique values from a list
Python | datetime.timedelta() function