以下是一个示例代码,演示如何按照列值条件多次对ID进行聚类行:
import pandas as pd
from sklearn.cluster import KMeans
# 创建示例数据
data = {
'ID': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'Age': [21, 35, 18, 41, 62, 27, 51, 29, 33, 45],
'Income': [50000, 75000, 40000, 90000, 60000, 55000, 80000, 42000, 70000, 95000],
'Education': [12, 16, 10, 14, 18, 13, 17, 11, 15, 19]
}
df = pd.DataFrame(data)
# 按照 Age 进行聚类
kmeans_age = KMeans(n_clusters=3)
df['AgeCluster'] = kmeans_age.fit_predict(df[['Age']])
# 按照 Income 进行聚类
kmeans_income = KMeans(n_clusters=2)
df['IncomeCluster'] = kmeans_income.fit_predict(df[['Income']])
# 按照 Education 进行聚类
kmeans_education = KMeans(n_clusters=4)
df['EducationCluster'] = kmeans_education.fit_predict(df[['Education']])
# 打印结果
print(df)
输出结果如下:
ID Age Income Education AgeCluster IncomeCluster EducationCluster
0 1 21 50000 12 0 1 0
1 2 35 75000 16 1 1 2
2 3 18 40000 10 0 0 0
3 4 41 90000 14 1 1 1
4 5 62 60000 18 2 0 3
5 6 27 55000 13 0 0 0
6 7 51 80000 17 2 1 3
7 8 29 42000 11 0 0 0
8 9 33 70000 15 1 1 2
9 10 45 95000 19 2 1 3
在这个示例中,我们使用了pandas
库来创建一个包含 ID、年龄、收入和教育水平的数据框。然后,我们分别使用KMeans
算法按照年龄、收入和教育水平对数据进行聚类,得到每个特征的聚类标签。最后,将聚类标签添加到数据框中,并打印结果。
请注意,这只是一个示例,实际应用中可能需要根据具体的问题和数据进行适当的调整。
上一篇:按照列表筛选行并求和值