Skip to content
Related Articles

Related Articles

mode() function in Python statistics module

View Discussion
Improve Article
Save Article
  • Difficulty Level : Hard
  • Last Updated : 23 Aug, 2021
View Discussion
Improve Article
Save Article

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)))

Output

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)))

Output

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. 
 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!