# mode() function in Python statistics module

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 is4Logic: 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.