Python statistics | mode function

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 locally maximum value, so any peak is a mode.

Python is very robust when it comes to statistics and working with a set of 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 there are two modes 
present in a single list, or when data set is empty .


Code #1 :
This piece will demonstrate mode() function through a simple example.

# Python code to demonstrate the 
# use of mode() function

# mode() function a sub-set of the statistics module
# We need to import 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.

# 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 negaitve integers
data4 = (-1, -2, -2, -2, -7, -7, -9)

# tuple of strings
data5 = ("red", "blue", "black", "blue", "black", "black", "brown")


# Printing out the mean of the above data-sets
print("Harmonic mean of data set 1 is % s" % (mode(data1)))
print("Harmonic mean of data set 2 is % s" % (mode(data2)))
print("Harmonic mean of data set 3 is % s" % (mode(data3)))
print("Harmonic mean of data set 4 is % s" % (mode(data4)))
print("Harmonic mean of data set 5 is % s" % (mode(data5)))

Output :

Harmonic mean of data set 1 is 5
Harmonic mean of data set 2 is 1.3
Harmonic mean of data set 3 is 1/2
Harmonic mean of data set 4 is -2
Harmonic mean of data set 5 is black

Code #3 : In this piece of code will demonstrate when StatisticsError is raised

# 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 L

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
    'no unique mode; found %d equally common values' % len(table)
statistics.StatisticsError: no unique mode; found 2 equally common values

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 seperately but along with two other pillars of statistics mean and meadian creates a very powerful tool which can be used to reveal any aspect of your data.





Stay Hungry Stay Foolish

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Recommended Posts:



0 Average Difficulty : 0/5.0
No votes yet.