好的,我的尝试是将值与权重相乘:
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
Run Code Online (Sandbox Code Playgroud)
它似乎工作正常。我必须想到好的测试数据。