如何在Pandas数据框的value_counts上运行K-means?

时间:2020-02-28 10:18:20

标签: pandas scikit-learn k-means

我想使用Kmeans通过值计数将数据框与准备好的数据集聚类。 然后我要画这个。

from sklearn.cluster import KMeans
frq = pd.DataFrame.from_dict(presult["ClientIP"].value_counts().to_dict(), orient="index").reset_index()
frq.columns = ['IP', 'Frq']
print(frq.columns)
print(frq)
Index(['IP', 'Frq'], dtype='object')
                                         IP   Frq
0                             2X.1XX.X.X  1158
1    X:598:X:db8a:X:X:e9aa   408
2                             18.X.X.109   405
3                              217.X.X.28   394
4                            92.X.X.119   360
..                                      ...   ...
760                          216.10.X.X     1
761                          185.152.X.X     1

从准备好的数据集中,我可以调用:

kmeans_model = KMeans(n_clusters = 3, random_state = 1).fit(frq)

这不起作用,因为我的IP列是一个字符串。但是,我需要知道哪个IP进入哪个群集。

我将为每个IP添加一列,以查看它属于哪个群集:

frq['kmean'] = kmeans_model.labels_
print(frq['kmean'].value_counts())

有人会知道如何说服sklearn基于数据帧中的值计数进行聚类吗?

0 个答案:

没有答案