如何用 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 ,与上一个示例的结果匹配。

如何处理零

请注意,如果您正在使用的数组中有零,这两种方法都会返回零。

因此,在计算几何平均值之前,您可以使用以下代码从数组中删除零:

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

其他资源

如何在 Python 中计算均方误差 (MSE)
如何用 Python 计算平均绝对误差

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注