【发布时间】:2025-11-23 03:45:01
【问题描述】:
有没有办法将这段代码向量化以消除for循环:
import numpy as np
Z = np.concatenate((X, labels[:,None]), axis=1)
centroids = np.empty([len(unique(labels))-1,2])
for i in unique(labels[labels>-1]):
centroids[i,:]=Z[Z[:,-1]==i][:,:-1].mean(0)
centroids
此代码从DBSCAN scikit-learn example 生成伪质心,以防您想使用它来查找矢量化形式,即示例中定义了X 和labels。
感谢您的帮助!
【问题讨论】:
标签: python numpy scikit-learn vectorization