lens = {}
centroids = {}
for idx, clno in enumerate(T):
    centroids.setdefault(clno, np.zeros(D))
centroids[clno] += features[(idx), :]
lens.setdefault(clno, 0)
lens[clno] += 1
for clno in centroids:
    centroids[clno] /= float(lens[clno])
Как получить центроиды из иерархической агломерационной кластеризации SciPy?