Python - AI 助手

Python 统计库 geometric.mean() 函数



python 的 statistics.geometric_mean() 函数是一个可迭代函数,它将数据转换为浮点数并计算几何平均数。

如果函数包含零或负值,则会引发 StatisticsError 异常。

语法

以下是 statistics.geometric_mean() 函数的基本语法:

statistics.geometric_mean(data, weights=None)

参数

这里,数据和权重值可以用作任何序列、列表或迭代器。

返回值

此函数始终返回数据的浮点数算术平均值,该数据可以是序列或迭代器。

示例 1

在下面的示例中,我们使用 statistics.geometric_mean() 函数计算给定数据的算术平均值。

import statistics
x = statistics.geometric_mean([54, 24, 36])
print(x)

输出

获得的结果如下:

36.000000000000014

示例 2

这里我们使用 statistics.geometric_mean() 函数计算浮点值的算术平均值。

import statistics
x = statistics.geometric_mean([0.54, 2.34, 36.2])
print(x)

输出

这会产生以下结果:

3.576344906149784

示例 3

现在,我们传递十进制值以使用 statistics.geometric_mean() 函数查找给定数据的平均值。

import statistics
from decimal import Decimal as D
x = statistics.geometric_mean([D("0.15"), D("0.175"), D("0.65"), D("0.35")])
print(x)

输出

获得的结果如下:

0.27798904219477544

示例 4

如果我们向 statistics.geometric_mean() 函数传递除双精度或整数以外的数据类型,则它将抛出错误。在下面的示例中,我们传递字符串值,因此代码返回 TypeError。

import statistics
x = statistics.geometric_mean("welcome to tutorialspoint")
print(x)

输出

获得的输出如下:

Traceback (most recent call last):
  File "/usr/lib/python3.10/statistics.py", line 344, in fmean
    n = len(data)
TypeError: object of type 'map' has no len()

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/cg/root/91470/main.py", line 2, in <module>
    x = statistics.geometric_mean("welcome to tutorialspoint")
  File "/usr/lib/python3.10/statistics.py", line 374, in geometric_mean
    return exp(fmean(map(log, data)))
  File "/usr/lib/python3.10/statistics.py", line 352, in fmean
    total = fsum(count(data))
  File "/usr/lib/python3.10/statistics.py", line 350, in count
    for n, x in enumerate(iterable, start=1):
TypeError: must be real number, not str
python_modules.htm
广告
© . All rights reserved.