python - 角度的加权平均值

标签 python algorithm mean

我想计算一组角度的加权平均值。

this Question , 有一个如何计算平均值的答案 如图this page .

现在我想弄清楚如何计算加权平均值。 也就是说,对于每个角度都有一个权重(权重之和为 1)

0.25, 0 度 0.5、20度 0.25、90度

加权平均值(如果我没记错的话)应该是 32 度。

最佳答案

好的,我的尝试只是将值乘以权重:

def circular_mean(weights, angles):
    x = y = 0.
    for angle, weight in zip(angles, weights):
        x += math.cos(math.radians(angle)) * weight
        y += math.sin(math.radians(angle)) * weight

    mean = math.degrees(math.atan2(y, x))
    return mean

SEEMS 可以正常工作。我必须考虑好的测试数据。

关于python - 角度的加权平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1686994/

相关文章:

python - 如何在没有 UI 的情况下打开 Maya?

python `in` 关键字作为过滤器中使用的函数

python - 强制 conda 更新软件包而不降级其他软件包,忽略任何可能的不良副作用

python - 获取特定值

c++ - 查找字符串中最长的子串

algorithm - 匹配和完全匹配的区别

java - 检测等效表达式

r - 按类别绘制均值和标准差

mongodb - 如何为 MEAN 应用程序编写集成测试

python - 根据条件为变量赋值