Python : easy way to do geometric mean in python?(Python:在python中做几何平均值的简单方法?)
问题描述
我想知道有没有什么简单的方法可以使用 python 但不使用 python 包来做几何平均.如果没有,有没有简单的包来做几何平均?
I wonder is there any easy way to do geometric mean using python but without using python package. If there is not, is there any simple package to do geometric mean?
推荐答案
几何均值的公式为:
因此您可以轻松编写如下算法:
So you can easily write an algorithm like:
import numpy as np
def geo_mean(iterable):
a = np.array(iterable)
return a.prod()**(1.0/len(a))
您不必为此使用 numpy,但它在数组上执行操作的速度往往比 Python 快.请参阅此答案以了解原因.
You do not have to use numpy for that, but it tends to perform operations on arrays faster than Python. See this answer for why.
如果溢出的可能性很高,您可以先将数字映射到log域,计算这些日志的总和,然后乘以1/n最后计算指数,如:
In case the chances of overflow are high, you can map the numbers to a log domain first, calculate the sum of these logs, then multiply by 1/n and finally calculate the exponent, like:
import numpy as np
def geo_mean_overflow(iterable):
return np.exp(np.log(iterable).mean())
这篇关于Python:在python中做几何平均值的简单方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Python:在python中做几何平均值的简单方法?


基础教程推荐
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 筛选NumPy数组 2022-01-01