Як обчислити середнє геометричне в python (з прикладами)
Існує два способи обчислення середнього геометричного в Python:
Спосіб 1: обчисліть середнє геометричне за допомогою SciPy
from scipy. stats import gmean #calculate geometric mean gmean([value1, value2, value3, ...])
Спосіб 2: обчисліть середнє геометричне за допомогою NumPy
import numpy as np
#define custom function
def g_mean(x):
a = np. log (x)
return np. exp ( a.mean ())
#calculate geometric mean
g_mean([value1, value2, value3, ...])
Обидва методи дадуть абсолютно однакові результати.
Наступні приклади показують, як використовувати кожен із цих методів на практиці.
Приклад 1: обчислення середнього геометричного за допомогою SciPy
У наступному коді показано, як використовувати функцію gmean() бібліотеки SciPy для обчислення середнього геометричного масиву значень:
from scipy. stats import gmean #calculate geometric mean gmean([1, 4, 7, 6, 6, 4, 8, 9]) 4.81788719702029
Середнє геометричне виявляється 4,8179 .
Приклад 2: обчислення середнього геометричного за допомогою NumPy
У наступному коді показано, як написати спеціальну функцію для обчислення середнього геометричного за допомогою вбудованих функцій бібліотеки NumPy :
import numpy as np
#define custom function
def g_mean(x):
a = np. log (x)
return np. exp ( a.mean ())
#calculate geometric mean
g_mean([1, 4, 7, 6, 6, 4, 8, 9])
4.81788719702029
Середнє геометричне виявляється рівним 4,8179 , що відповідає результату з попереднього прикладу.
Як поводитися з нулями
Зауважте, що обидва методи повертатимуть нуль, якщо в масиві, з яким ви працюєте, є нулі.
Отже, ви можете використати такий фрагмент коду, щоб видалити нулі з масиву перед обчисленням середнього геометричного:
#create array with some zeros
x = [1, 0, 0, 6, 6, 0, 8, 9]
#remove zeros from array
x_new = [i for i in x if i != 0]
#view updated array
print (x_new)
[1, 6, 6, 8, 9]
Додаткові ресурси
Як обчислити середню квадратичну помилку (MSE) у Python
Як обчислити середню абсолютну похибку в Python