import statistics
import scipy.stats
import numpy as np

x = [8.0, 1, 2.5, 6, 28.0]
################ geometric mean #################################

# using pure Python
gmean = 1
for item in x:
    gmean *= item

gmean **= 1 / len(x)

print("using pure Python gmean: ",gmean)
print()

#using statistics.geometric_mean()
gmean = statistics.geometric_mean(x)
print("using statistics.geometric_mean() gmean: ",gmean)
print()

#using scipy.stats.gmean()
y = np.array(x)
scipy.stats.gmean(y)
print("using scipy.stats.gmean() gmean: ", gmean)
print()