【发布时间】:2012-03-05 13:46:32
【问题描述】:
我正在尝试计算 Python 中值列表的众数(最常见的值)。我想出了一个解决方案,无论如何给出了错误的答案,但我随后意识到我的数据可能是多模态的;
ie 1,1,2,3,4,4 mode = 1 & 4
这是我到目前为止的想法:
def mode(valueList):
frequencies = {}
for value in valueList:
if value in frequencies:
frequencies[value] += 1
else:
frequencies[value] = 1
mode = max(frequencies.itervalues())
return mode
我认为这里的问题是我输出的是值而不是最大值的指针。无论如何,任何人都可以提出一种更好的方法来做到这一点,这种方法可以在不止一种模式下工作吗?或者如果失败了,我该如何修复我目前所拥有的并确定单一模式?
您可能会说我对 python 很陌生,感谢您的帮助。
编辑:应该提到我在 Python 2.4 中
【问题讨论】:
-
你真的应该升级到最新支持的 Python 版本。
标签: python statistics