The mode of a set of data values is the value that appears most often. It is the value at which the data is most likely to be sampled. A mode of a continuous probability distribution is often considered to be any value x at which its probability density function has a local maximum value, so any peak is a mode.
Python is very robust when it comes to statistics and working with a set of a large range of values. The statistics module has a very large number of functions to work with very large data-sets. The mode() function is one of such methods. This function returns the robust measure of a central data point in a given range of data-sets.
Example :
Given data-set is : [1, 2, 3, 4, 4, 4, 4, 5, 6, 7, 7, 7, 8] The mode of the given data-set is 4 Logic: 4 is the most occurring/ most common element from the given list
Syntax : mode([data-set]) Parameters : [data-set] which is a tuple, list or a iterator of real valued numbers as well as Strings. Return type : Returns the most-common data point from discrete or nominal data. Errors and Exceptions : Raises StatisticsError when data set is empty.
Code #1 : This piece will demonstrate mode() function through a simple example.
Python3
# Python code to demonstrate the # use of mode() function # mode() function a sub-set of the statistics module # We need to import the statistics module before doing any work import statistics # declaring a simple data-set consisting of real valued # positive integers. set1 = [ 1 , 2 , 3 , 3 , 4 , 4 , 4 , 5 , 5 , 6 ] # In the given data-set # Count of 1 is 1 # Count of 2 is 1 # Count of 3 is 2 # Count of 4 is 3 # Count of 5 is 2 # Count of 6 is 1 # We can infer that 4 has the highest population distribution # So mode of set1 is 4 # Printing out mode of given data-set print ( "Mode of given data set is % s" % (statistics.mode(set1))) |
Mode of given data set is 4
Code #2 : In this code we will be demonstrating the mode() function a various range of data-sets.
Python3
# Python code to demonstrate the # working of mode() function # on a various range of data types # Importing the statistics module from statistics import mode # Importing fractions module as fr # Enables to calculate harmonic_mean of a # set in Fraction from fractions import Fraction as fr # tuple of positive integer numbers data1 = ( 2 , 3 , 3 , 4 , 5 , 5 , 5 , 5 , 6 , 6 , 6 , 7 ) # tuple of a set of floating point values data2 = ( 2.4 , 1.3 , 1.3 , 1.3 , 2.4 , 4.6 ) # tuple of a set of fractional numbers data3 = (fr( 1 , 2 ), fr( 1 , 2 ), fr( 10 , 3 ), fr( 2 , 3 )) # tuple of a set of negative integers data4 = ( - 1 , - 2 , - 2 , - 2 , - 7 , - 7 , - 9 ) # tuple of strings data5 = ( "red" , "blue" , "black" , "blue" , "black" , "black" , "brown" ) # Printing out the mode of the above data-sets print ( "Mode of data set 1 is % s" % (mode(data1))) print ( "Mode of data set 2 is % s" % (mode(data2))) print ( "Mode of data set 3 is % s" % (mode(data3))) print ( "Mode of data set 4 is % s" % (mode(data4))) print ( "Mode of data set 5 is % s" % (mode(data5))) |
Mode of data set 1 is 5 Mode of data set 2 is 1.3 Mode of data set 3 is 1/2 Mode of data set 4 is -2 Mode of data set 5 is black
Code #3 : In this piece of code will demonstrate when StatisticsError is raised
Python3
# Python code to demonstrate the # statistics error in mode function ''' StatisticsError is raised while using mode when there are two equal modes present in a data set and when the data set is empty or null ''' # importing statistics module import statistics # creating a data set consisting of two equal data-sets data1 = [ 1 , 1 , 1 , - 1 , - 1 , - 1 ] # In the above data set # Count of 1 is 3 # Count of -1 is also 3 # StatisticsError will be raised print (statistics.mode(data1)) |
Output
Traceback (most recent call last): File "/home/38fbe95fe09d5f65aaa038e37aac20fa.py", line 20, in print(statistics.mode(data1)) File "/usr/lib/python3.5/statistics.py", line 474, in mode raise StatisticsError('no mode for empty data') from None statistics.StatisticsError: no mode for empty data
NOTE: In newer versions of Python, like Python 3.8, the actual mathematical concept will be applied when there are multiple modes for a sequence, where, the smallest element is considered as a mode.
Say, for the above code, the frequencies of -1 and 1 are the same, however, -1 will be the mode, because of its smaller value.
Applications: The mode() is a statistics function and mostly used in Financial Sectors to compare values/prices with past details, calculate/predict probable future prices from a price distribution set. mean() is not used separately but along with two other pillars of statistics mean and median creates a very powerful tool that can be used to reveal any aspect of your data.