从Python中的列表计算Subcontrary Mean

时间:2017-12-02 10:09:48

标签: python python-3.x

我有一套5个花园软管的加仑平均水流量值列表:

[6.6, 14, 12.6, 8.8, 11.8]

我想计算此列表的子对象/调和平均值,我发现这个answer有效:

def hmean(args):
    return len(args) / sum(1. / val for val in args)

hose_flows = [6.6, 14, 12.6, 8.8, 11.8]
print(hmean(hose_flows)) # 9.986200495805194

但是我觉得这不是很优雅......肯定有更优雅的方式来做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Python 3.6.0或更高版本,则可以使用statistics.harmonic_mean

>>> import statistics
>>> hose_flows = [6.6, 14, 12.6, 8.8, 11.8]
>>> statistics.harmonic_mean(hose_flows)
9.986200495805194