根据聚类结果,我得到以下数据:
timestamp consumption cluster_number
0 0 35.666667 1
1 1 29.352222 1
2 2 24.430000 1
3 3 21.756667 1
4 4 20.345556 1
5 5 19.763333 1
6 6 19.874444 1
7 7 22.078889 1
8 8 28.608889 1
9 9 33.827778 2
10 10 36.414444 2
11 11 38.340000 2
12 12 43.305556 2
13 13 43.034444 2
14 14 39.076667 2
15 15 36.378889 2
16 16 36.171111 2
17 17 40.381111 2
18 18 48.692222 0
19 19 52.330000 0
20 20 50.154444 0
21 21 46.491111 0
22 22 44.014444 0
23 23 40.628889 0
通过这种聚类,最大值(且值接近最大值)的列consumption
是cluster_number
中的0,最小值(以及接近最小值的值)的值在cluster_number
1中,其余的值在cluster_number
2中。但是,我无法事先知道哪些“消耗”值对应于哪些cluster_number
,因此我需要找到一种方法,首先将cluster_number
与高、低和中产阶级联系起来,然后为每个集群列出timestamp
列。
具体来说,我想列出三个清单:
1.高电平= [18、19、20、21、22、23]
1.低电平= [0、1、2、3、4、5、6、7、8]
1.中间值= [9、10、11、12、13、14、15、16、17、18]
你知道我该怎么做吗?
1条答案
按热度按时间0x6upsns1#
你可以使用
groupby.min
+rank
来标识簇的顺序,然后对索引groupby.agg
并使用簇的顺序进行重命名:输出量: