以下代码演示了如何使用Python和pandas库来解决这个问题。它将两个CSV文件读入数据框架中,并使用KMeans算法对每个框架进行聚类以找到质心。然后,它计算两个质心之间的欧几里得距离,并找到最接近的质心对。
import pandas as pd
from sklearn.cluster import KMeans
import numpy as np
# 读入CSV文件
data1 = pd.read_csv('file1.csv')
data2 = pd.read_csv('file2.csv')
# 进行KMeans聚类
def get_closest_centroid(data_frame):
kmeans = KMeans(n_clusters=1, random_state=0).fit(data_frame)
return kmeans.cluster_centers_[0]
centroid1 = get_closest_centroid(data1)
centroid2 = get_closest_centroid(data2)
# 计算最接近的质心对
def find_closest_pair(centroid1, centroid2):
closest_distance = np.inf
closest_pair = None
for i, c1 in enumerate(centroid1):
for j, c2 in enumerate(centroid2):
distance = np.linalg.norm(c1-c2)
if distance < closest_distance:
closest_distance = distance
closest_pair = (i, j)
return closest_pair
closest_pair = find_closest_pair(centroid1, centroid2)
# 输出结果
print('The closest centroid pair is:', closest_pair)
注意:本示例假定CSV文件中的数据具有相同的特征,并且需要根据实际情况进行调整。