from collections import Counter
from collections import defaultdict
L = [1.0,1.0,2.0,2.0,3.0,4.0,5.1,5.1]
d = defaultdict(float)
for i in L:
d[i] += 1
most_frequent = sorted(Counter(L).most_common(), key=lambda x: x[1], reverse=True)[0]
print(most_frequent)
输出:(1.0, 1)
在这种情况下,代码应该输出“Your mode(s) are 1.0, 2.0, 5.1”。但是我运行该程序并只获得第一个模式,而不是所有模式包括
如何解决这个问题?
最佳答案
您可以简单地使用 Counter
的 most_common
函数的第二个参数,如下所示
print([num for num, count in Counter(L).most_common(3)])
输出
[1.0, 2.0, 5.1]
关于python - 查找 float 列表中最频繁出现的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20135015/