pandas 按类别分组

a14dhokn  于 2022-11-20  发布在  其他
关注(0)|答案(2)|浏览(162)

我已经完成了KMeans聚类,现在我需要分析每个单独的聚类。例如,查看聚类1,看看有哪些客户在上面,然后得出结论。

dfRFM['idcluster'] = num_cluster
dfRFM.head()

    idcliente   Recencia    Frecuencia  Monetario   idcluster
1    3            251            44      -90.11          0
2    8           1011            44      87786.44        2
6    88           537            36       8589.57        0
7    98           505             2       -179.00        0
9    156          11             15       35259.50       0

我如何分组,以便我只看到结果,让我们说idcluster 0和排序,让我们说“Monetario”。谢谢!

yquaqz18

yquaqz181#

要过滤 Dataframe ,最常用的方法是使用df[df[colname] == val]。然后可以使用df.sort_values()
在您的情况下,它将如下所示:

dfRFM_id0 = dfRFM[dfRFM['idcluster']==0].sort_values('Monetario')

这个过滤的工作原理是dfRFM['idcluster']==0返回一系列的True/False,这取决于它是真还是假。这样我们就有了一个dfRFM[(True,False,True,True...)]的排序,所以 Dataframe 只返回我们有一个真的行。也就是说,过滤/选择条件为真的数据。
编辑:添加"工作方式...“

5vf7fwbs

5vf7fwbs2#

我认为你实际上只需要过滤你的DF!

df_new = dfRFM[dfRFM.idcluster == 0]

然后按Montario排序

df_new = df_new.sort_values(by = 'Monetario')

Group by最适合于将聚类作为一个整体来查看-例如,如果您希望查看Group 0中所有数据的Recencia、Frecuencia和Monetario的平均值。

相关问题