4 Ways to Calculate the Geometric Mean in Python

In this short guide, I’ll show you 4 ways to calculate the geometric mean in Python.

By the end of this guide, you’ll be able to derive the geometric mean using this simple program:

Calculate the Geometric Mean in Python

4 Ways to Calculate the Geometric Mean in Python

In the following section, you’ll see 4 methods to calculate the geometric mean in Python. For each of the methods to be reviewed, the goal is to derive the geometric mean, given the values below:

8, 16, 22, 12, 41

Method 1: Simple Calculations to get the Geometric Mean

To start, you can use this simple calculation to get the geometric mean:

multiplyValues = 8*16*22*12*41
n = 5
geometricMean = (multiplyValues)**(1/n)
print ('The Geometric Mean is: ' + str(geometricMean)) 

Where:

  • multiplyValues represents the multiplication of all the values in the dataset
  • reflects the number of items in the dataset. In our example, there are 5 items
  • geometricMean = (multiplyValues)**(1/n) is the actual calculation to derive the geometric mean

Run the code in Python, and you’ll get the following result:

Print text

Method 2: Using a List to Derive the Geometric Mean in Python

Alternatively, you can place all the values in a list, where each value should be separated by a comma:

multiply = 1
values = [8,16,22,12,41]
n = len(values)

for i in values:
    multiply = (multiply)*(i)

geometricMean = (multiply)**(1/n)
print ('The Geometric Mean is: ' + str(geometricMean)) 

Once you run the code in Python, you’ll get the same result:

Print text

Method 3: Using Pandas and Scipy

You could also use Pandas and Scipy to obtain the geometric mean:

from pandas import DataFrame
from scipy.stats.mstats import gmean

data = {'values': [8,16,22,12,41]}
df = DataFrame(data)

geometricMean = gmean(df.loc[:,'values'])
print ('The Geometric Mean is: ' + str(geometricMean)) 

As before, you’ll get the same geometric mean:

Print text

Method 4: Get the Geometric Mean using Tkinter

Tkinter is a Python package that can be used to build a graphical user interface (GUI).

You can then use the following syntax to launch a simple GUI in order to derive the geometric mean:

import tkinter as tk

root= tk.Tk()

canvas1 = tk.Canvas(root, width = 500, height = 400)
canvas1.pack()

label0 = tk.Label(root, text='Calculate Geometric Mean')
label0.config(font=('helvetica', 14))
canvas1.create_window(250, 40, window=label0)

entry1 = tk.Entry (root, width = 30) 
canvas1.create_window(350, 140, window=entry1)

label1 = tk.Label(root, text='Values (Separated by Commas):')
label1.config(font=('helvetica', 10))
canvas1.create_window(150, 140, window=label1)

def calcMean ():  
    values = entry1.get().split(',')
    n = len(values)
    
    multiply = 1

    for i in values:
        multiply = (multiply)*float(i)

    geometricMean = (multiply)**(1/n)
    
    label2 = tk.Label(root, text= geometricMean,font=('helvetica', 10, 'bold'),bg='white')
    canvas1.create_window(250, 300, window=label2)
   
button1 = tk.Button(text='Calculate Geometric Mean', command=calcMean, bg='green', fg='white', font=('helvetica', 9, 'bold'), width = 25)
canvas1.create_window(250, 250, window=button1)

root.mainloop()

Run the above code and you’ll see this display:

Calculate the Geometric Mean in Python

Simply enter the values in the input box. For our example, enter the following values:

8, 16, 22, 12, 41

Once you are ready, click on the green button to calculate the geometric mean:

Geometric Mean in Python

You’ll then get the same geometric mean as in the previous methods:

Geometric Mean using tkinter