gpt4 book ai didi

python - Python 中绝对差的均值

转载 作者:行者123 更新时间:2023-11-28 20:41:46 26 4
gpt4 key购买 nike

我正在尝试用 Python 3 编写一个程序来计算连续值之间绝对差的平均值。

最佳答案

编辑:由于代码已从问题中删除,因此更新答案,将代码问题移至底部。

如评论中所述,您可以使用 enumerate() 从数组中获取索引和元素,然后使用它来计算平均值。示例 -

>>> def absolute_difference(v):
... sum_diff = 0
... for i,x in enumerate(v):
... if i+1 < len(v):
... sum_diff += abs(v[i+1] - x)
... r = sum_diff/len(v)
... return r
...
>>> absolute_difference([4.0, 4.2, 4.1, 4.4, 4.3])
0.1400000000000004

代码中有很多问题(你似乎已经删除了)-

  1. 为什么要将绝对差值转换为 float ? float 学不准确,正如您从代码中的差异总和中看到的那样 - 0.20000000000000018。在您的情况下,您不需要将它们转换为 float 。

  2. r0.0 的主要问题是因为您正在使用// 划分,// 将除法截断为最接近的整数,因此将 7.0 减去比使用 // 更大的值总是会得到 0.0 。示例 -

    >>> 7.0 // 8.0
    0.0
    >>> 7.0/8.0
    0.875

    对于您的情况,您应该使用 / 进行划分。

  3. 您在循环的每次迭代中取平均值,虽然这不是问题,但可能并不完全需要。如果您不想在循环的每次迭代中取均值,则应在循环外缩进。

关于python - Python 中绝对差的均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32433005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com