Python Mode

The mode is the most frequent observation in a data sample, to simplify you can say that is the most common number in a list

Before I will show you how to use python mode function, let's understand how it works first

First you need to find out what is the most common nr. You can have 1 or more common numbers in a list

Most common number in data list is 1


data  = [1,2,3,4,1,2,3,1]

Let's get the total count of all numbers and store it in a dict


#define an empty dict
data_count = {}
# take each number from data list and use the data_count dict to count it
for nr in data:
 #if is not the first time I add to data_count then it means data_count exist so I can add 1
 if nr in data_count:
	 data_count[nr] += 1
 else:
	 # else data[nr] does not exist, so let's start by putting 1
	 data_count[nr] = 1

Now print data_count dict

You can see that 1 is repeating 3 times, 2 is repeating 2 times, 3 is repeating 2 times and 4 only once

1 is most frequent, so 1 is the mode

As I said keep in mind that you can have more then a single mode for example


data  = [1,2,1,2,3]

in this case you can see that 1 and 2 is the mode

The list it happens to be numbers but it can be any data, even string

Python mode with statistics library

In order to simplify your life you should use statistics. Statistics is a buildin python library, all you have to do is to make sure you import it


Import statistics
#if you want to return multiple modes then you can use the multimode method
the_mode = statistics.multimode(data)
#if you want to get the first single mode
the_mode = statistics.mode(data)
print(the_mode)

Python mode with scipy

You can use scipy if you have an older version of python

Make sure you install the scipy before you use it


#pip install scipy

from scipy import stats
data = [0,1,8,9,5,3,10,2,2,5]
print(stats.mode(data))

The mode method will return the mode and the count of the mode


ModeResult(mode=array([2]), count=array([2]))
In order to visit this site you must accept the terms and conditions available at this page