小编典典

NumPy中的加权标准差

python

numpy.average()有权重选项,但numpy.std()没有。有没有人建议解决方法?


阅读 198

收藏
2021-01-20

共1个答案

小编典典

接下来的简短“手动计算”如何?

def weighted_avg_and_std(values, weights):
    """
    Return the weighted average and standard deviation.

    values, weights -- Numpy ndarrays with the same shape.
    """
    average = numpy.average(values, weights=weights)
    # Fast and numerically precise:
    variance = numpy.average((values-average)**2, weights=weights)
    return (average, math.sqrt(variance))
2021-01-20