可以通过公共点更改数据框中的群集/标签的标签吗?

时间:2019-03-25 17:55:30

标签: python pandas numpy dataframe k-means

所以我正在某些数据上运行一些进程(kmeans是其中之一,如果有帮助的话)

在此过程之前,有一些标签绑定到某些点,例如:

df1:

x     y      z       labels
1.0   2.1     3.1       1
1.2   8.6     4.2       1
3.1   4.1     1.1       2
2.2   2.9     4.6       2
8.1   7.7     2.1       3
1.1   1.9     5.7       4
4.4   7.9     6.4       5

现在将这些点分配给这些特定的标签,这很好,但是在我运行第二个过程(例如,另一个k表示)之后,将相同的点分配给了不同的标签:

 x     y      z       after_labels
1.0   2.1     3.1       2
1.2   8.6     4.2       2
3.1   4.1     1.1       1
2.2   2.9     4.6       1
8.1   7.7     2.1       3
1.1   1.9     5.7       5
4.4   7.9     6.4       4

因此,我将之前和之后的标签添加到同一表中:

 x     y      z       labels    after_labels
1.0   2.1     3.1       1           2
1.2   8.6     4.2       1           2
3.1   4.1     1.1       2           1
2.2   2.9     4.6       2           1
8.1   7.7     2.1       3           3
1.1   1.9     5.7       4           5
4.4   7.9     6.4       5           4

如我所见,在处理之前,前2个点的标题为标签1,但即使点相同,现在也标题为标签2。

与点3和4相同。其标记为label(cluster)2,但标记为1

是否有任何方法可以遍历数据框并基于基于“标签”的共同点来重命名after_label?我知道它不会100%准确,因为某些点会在不同的标签中,没关系。

所以基本上:

x     y      z       labels    after_labels
 1.0   2.1     3.1       1           1
 1.2   8.6     4.2       1           1
 3.1   4.1     1.1       2           2
 2.2   2.9     4.6       2           2
 8.1   7.7     2.1       3           3
 1.1   1.9     5.7       4           5
 4.4   7.9     6.4       5           4

谢谢大家

0 个答案:

没有答案