我正在使用 Python itertools 并使用 groupby 按最后一个元素对一堆对进行排序。我已经对其进行了排序,并且可以很好地遍历组,但是我真的很希望能够获得每个组的长度,而不必遍历每个组,增加一个计数器。
该项目是对一些数据点进行聚类。我正在使用成对的 (numpy.array, int),其中 numpy 数组是一个数据点,整数是一个簇标签
这是我的相关代码:
data = sorted(data, key=lambda (point, cluster):cluster)
for cluster,clusterList in itertools.groupby(data, key=lambda (point, cluster):cluster):
if len(clusterList) < minLen:
在最后一行:if len(clusterList) < minLen:
,我得到一个错误
'itertools._grouper' 类型的对象没有 len()
我查找了可用于 的操作_groupers
,但找不到任何似乎可以提供组长度的内容。