gpt4 book ai didi

python - 使用 Python 在 DataFrame 中进行聚类

转载 作者:行者123 更新时间:2023-12-05 09:02:45 24 4
gpt4 key购买 nike

我有一个数据集

Name    System
A AZ
A NaN
B AZ
B NaN
B NaN
C AY
C AY
D AZ
E AY
E AY
E NaN
F AZ
F AZ
F NaN

使用此数据集,我需要根据针对特定“名称”重复“系统”的次数对数据集进行聚类。

在上面的示例中,名称 A、B 和 D 有一个“AZ”“子集”,而 C、E 有两个“AY”子集,F 有两个 AZ,因此它是一个不同的集群。我们可以忽略 NaN。

输出示例:

Cluster     Names
AZ A,B
AY,AY C,E
AZ,AZ F

我如何使用 Python 完成它?

附言。实际数据集的行数和列数可能有所不同另外,如何使用基于 ML 的分类算法(例如 KNN、朴素贝叶斯等)来做到这一点?

最佳答案

使用groupby + agg两次;一次加入“Systems”,然后加入“Names”:

s = df.dropna().groupby('Name').agg(', '.join)['System']
s = pd.Series(s.index, index=s)
out = s.groupby(level=0).agg(', '.join).reset_index().rename(columns={'System':'Cluster'})

输出:

  Cluster     Name
0 AY, AY C, E
1 AZ A, B, D
2 AZ, AZ F

关于python - 使用 Python 在 DataFrame 中进行聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70951713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com