Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从python列表中查找近似模式_Python_Counter_Itertools_Mode - Fatal编程技术网

从python列表中查找近似模式

从python列表中查找近似模式,python,counter,itertools,mode,Python,Counter,Itertools,Mode,我有一个列表,其中的值类似于[62,62,65,67,68,69,3,3,3,1,1,30,30] 如果我使用这个值创建一个计数器,并取最大发生值,我得到它为3 但是,正如你们所能看到的,62-69的值彼此接近,我想得到这些值的平均值,作为最常出现的值。我们如何在python中实现这一点?您可以将数据分组到范围中,然后找到模式 例如,将数据按10的范围排列,我们得到 >>> l2 = [e//10 for e in l] >>> l2 [6, 6, 6, 6,

我有一个列表,其中的值类似于
[62,62,65,67,68,69,3,3,3,1,1,30,30]

如果我使用这个值创建一个
计数器
,并取最大发生值,我得到它为3


但是,正如你们所能看到的,62-69的值彼此接近,我想得到这些值的平均值,作为最常出现的值。我们如何在python中实现这一点?

您可以将数据分组到范围中,然后找到模式 例如,将数据按10的范围排列,我们得到

>>> l2 = [e//10 for e in l]
>>> l2
[6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 3, 3]
模式是6

>>> Counter(l2).most_common(1)
[(6, 6)]

因此,原始数据的模式应该接近该范围的中间值,6*10+5=65

也许您可以对数据进行聚类,然后查找最大的组?