在python中,如何根据标签按输出分组

在python中,如何根据标签按输出分组,python,pandas-groupby,Python,Pandas Groupby,我正在尝试按标签获取我的以下结果: kmeans = KMeans(n_clusters=5) kmeans.fit(X) centroid = kmeans.cluster_centers_ labels = kmeans.labels_ print (centroid) print(labels) for i in range(len(X)): print ("coordinate:" , X[i], "label:", labels[i]

我正在尝试按标签获取我的以下结果:

kmeans = KMeans(n_clusters=5)
kmeans.fit(X)

centroid = kmeans.cluster_centers_
labels = kmeans.labels_

print (centroid)
print(labels)

for i in range(len(X)):
   print ("coordinate:" , X[i], "label:", labels[i])
coordinate: [30.5 16.7] label: 2
coordinate: [31.3 21.8] label: 3
coordinate: [34.  17.9] label: 3
coordinate: [33.2 13.8] label: 2
coordinate: [35.9 18.9] label: 3
coordinate: [38.2 19.7] label: 0
coordinate: [36.6 19.8] label: 3
coordinate: [37.3 18.6] label: 0
coordinate: [33.8 21.5] label: 3
coordinate: [34.4 21.2] label: 3
coordinate: [32.1 18.9] label: 3
coordinate: [36.9 22.1] label: 3
coordinate: [31.  24.3] label: 3
coordinate: [32.6 21.8] label: 3
coordinate: [33.2 20.7] label: 3
coordinate: [35.5  0. ] label: 2
coordinate: [47.8 21.4] label: 1
这给了我以下的结果:

kmeans = KMeans(n_clusters=5)
kmeans.fit(X)

centroid = kmeans.cluster_centers_
labels = kmeans.labels_

print (centroid)
print(labels)

for i in range(len(X)):
   print ("coordinate:" , X[i], "label:", labels[i])
coordinate: [30.5 16.7] label: 2
coordinate: [31.3 21.8] label: 3
coordinate: [34.  17.9] label: 3
coordinate: [33.2 13.8] label: 2
coordinate: [35.9 18.9] label: 3
coordinate: [38.2 19.7] label: 0
coordinate: [36.6 19.8] label: 3
coordinate: [37.3 18.6] label: 0
coordinate: [33.8 21.5] label: 3
coordinate: [34.4 21.2] label: 3
coordinate: [32.1 18.9] label: 3
coordinate: [36.9 22.1] label: 3
coordinate: [31.  24.3] label: 3
coordinate: [32.6 21.8] label: 3
coordinate: [33.2 20.7] label: 3
coordinate: [35.5  0. ] label: 2
coordinate: [47.8 21.4] label: 1
如何按标签0,1,2,3,4获取组

非常感谢

您可以使用它获得想要的积分

范围(5)内的类的
:
打印(f“类:{Class}:”)
打印(X[labels==class_389;])
它看起来像:

Class: 0:
[[-1.37195659  3.29604478]
 [-1.4811455   2.73069841]
 [-2.41468976  0.93708579]
 [-0.49772229  1.55128226]]
Class: 1:
[[ 7.65935736 -2.5439099 ]
 [ 8.02045985 -1.55367927]
 [ 8.76360303 -2.76924393]
 [ 7.56698502 -0.38039423]]
Class: 2:
[[1.42013331 4.63746165]
 [1.7373078  4.42546234]
 [1.12031365 5.75806083]
 [2.47034915 4.09862906]
 [0.0058752  4.38724103]]
Class: 3:
[[-1.63558259  7.53315727]
 [-1.59616792  7.99180898]
 [-0.01796509  9.03783986]
 [-2.29680874  6.41544208]]
Class: 4:
[[ 2.91970372  0.15549864]
 [ 4.32502215 -0.55670201]
 [ 2.36833522  0.04356792]]
因此,如果要对点进行分组,可以像

{class_ux:labels==class_ux]用于范围(5)内的class_ux}
这是我试过的完整代码

从sklearn.cluster导入KMeans
从sklearn.dataset导入make_blob
#创建随机数据集
十、 _u=make_blob(n_样本=20,中心=5,n_特征=2,
随机_状态=0)
#拟合数据
kmeans=kmeans(n_集群=5)
kmeans.fit(X)
#从kmeans获取中心和标签
中心=kmeans.cluster\u中心_
labels=kmeans.labels_
对于范围(5)内的类:
打印(f“类:{Class}:”)
打印(X[labels==class_389;])

你好,贾斯汀,谢谢。