对全国31个省份不同年份的多项指标进行k-means聚类的代码
时间: 2024-10-25 07:03:55 浏览: 11
对全国31个省份的不同年份数据进行K-means聚类的Python代码通常会包含以下几个步骤,假设我们已经有了一个包含省份、年份以及各项指标的数据集(如pandas DataFrame):
```python
# 导入必要的库
import pandas as pd
import numpy as np
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# 假设data是你的数据集,包含省份名(province)、年份(year)和指标值(values)
# data = pd.read_csv('your_data.csv') # 读取CSV文件或者其他数据源
# 数据预处理:选择需要的年份并归一化指标值
data = data[data['year'] == target_year] # 替换target_year为你关心的具体年份
data_values = data[['province', 'values']].groupby('province').mean().values # 按省份汇总平均值
# 使用KMeans进行聚类
n_clusters = 5 # 假设你想要分成5类
kmeans = KMeans(n_clusters=n_clusters, random_state=42)
kmeans.fit(data_values)
# 获取聚类结果
labels = kmeans.labels_
# 将结果添加回原始数据集中
data['cluster'] = labels
# 可视化聚类结果
plt.scatter(data_values[:, 0], data_values[:, 1], c=labels, cmap='viridis')
plt.title(f'各省年份{target_year}指标聚类结果 (K={n_clusters})')
plt.xlabel('指标1')
plt.ylabel('指标2')
plt.show()
阅读全文