Skip to content
Related Articles

Related Articles

Python statistics | mean() function

View Discussion
Improve Article
Save Article
  • Difficulty Level : Expert
  • Last Updated : 27 Sep, 2021

Prerequisite : Introduction to Statistical Functions
Python is a very popular language when it comes to data analysis and statistics. Luckily, Python3 provide statistics module, which comes with very useful functions like mean(), median(), mode() etc.
mean() function can be used to calculate mean/average of a given list of numbers. It returns mean of the data set passed as parameters.
Arithmetic mean is the sum of data divided by the number of data-points. It is a measure of the central location of data in a set of values which vary in range. In Python, we usually do this by dividing the sum of given numbers with the count of number present. 
 

Given set of numbers : [n1, n2, n3, n5, n6]

Sum of data-set = (n1 + n2 + n3 + n4 + n5)
Number of data produced = 5

Average or arithmetic mean  = (n1 + n2 + n3 + n4 + n5) / 5

  
 

Syntax : mean([data-set])
Parameters : 
[data-set] : List or tuple of a set of numbers.
Returns : Sample arithmetic mean of the provided data-set.
Exceptions
TypeError when anything other than numeric values are passed as parameter. 
 

  
Code #1 : Working 
 

Python3




# Python program to demonstrate mean()
# function from the statistics module
 
# Importing the statistics module
import statistics
 
# list of positive integer numbers
data1 = [1, 3, 4, 5, 7, 9, 2]
 
x = statistics.mean(data1)
 
# Printing the mean
print("Mean is :", x)


Output : 
 

 Mean is : 4.428571428571429

  
Code #2 : Working 
 

Python3




# Python program to demonstrate mean()
# function from the statistics module
 
# Importing the statistics module
from statistics import mean
 
# Importing fractions module as fr
# Enables to calculate mean of a
# set in Fraction
from fractions import Fraction as fr
 
 
# tuple of positive integer numbers
data1 = (11, 3, 4, 5, 7, 9, 2)
 
# tuple of a negative set of integers
data2 = (-1, -2, -4, -7, -12, -19)
 
# tuple of mixed range of numbers
data3 = (-1, -13, -6, 4, 5, 19, 9)
 
# tuple of a set of fractional numbers
data4 = (fr(1, 2), fr(44, 12), fr(10, 3), fr(2, 3))
 
# dictionary of a set of values
# Only the keys are taken in
# consideration by mean()
data5 = {1:"one", 2:"two", 3:"three"}
 
 
# Printing the mean of above datasets
print("Mean of data set 1 is % s" % (mean(data1)))
print("Mean of data set 2 is % s" % (mean(data2)))
print("Mean of data set 3 is % s" % (mean(data3)))
print("Mean of data set 4 is % s" % (mean(data4)))
print("Mean of data set 5 is % s" % (mean(data5)))


Output : 
 

Mean of data set 1 is 5.857142857142857
Mean of data set 2 is -7.5
Mean of data set 3 is 2.4285714285714284
Mean of data set 4 is 49/24
Mean of data set 5 is 2

  
Code #3 : TypeError 
 

Python3




# Python3 code to demonstrate TypeError
 
# importing statistics module
from statistics import mean
 
# While using dictionaries, only keys are
# taken into consideration by mean()
dic = {"one":1, "three":3, "seven":7,
       "twenty":20, "nine":9, "six":6}
 
# Will raise TypeError
print(mean(dic))


Output : 
 

Traceback (most recent call last):
  File "/home/9f8a941703745a24ddce5b5f6f211e6f.py", line 29, in 
    print(mean(dic))
  File "/usr/lib/python3.5/statistics.py", line 331, in mean
    T, total, count = _sum(data)
  File "/usr/lib/python3.5/statistics.py", line 161, in _sum
    for n, d in map(_exact_ratio, values):
  File "/usr/lib/python3.5/statistics.py", line 247, in _exact_ratio
    raise TypeError(msg.format(type(x).__name__))
TypeError: can't convert type 'str' to numerator/denominator

  
Applications : 
Mean/Arithmetic average is one of the very important function, while working with statistics and large values. So, with the function like mean(), trending and featured values can be extracted from the large data sets.
 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!