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를 사용하여 기하 평균 계산
다음 코드는 SciPy 라이브러리의 gmean() 함수를 사용하여 값 배열의 기하 평균을 계산하는 방법을 보여줍니다.
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 로 나타났으며 이는 이전 예의 결과와 일치합니다.
0을 처리하는 방법
작업 중인 배열에 0이 있으면 두 메서드 모두 0을 반환합니다.
따라서 기하 평균을 계산하기 전에 다음 코드를 사용하여 배열에서 0을 제거할 수 있습니다.
#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]