Python statistics | mean() function

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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output :

 Mean is : 4.428571428571429

 
Code #2 : Working

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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

Its lonely at the top

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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.