将列添加到数据框 K-Mean - Python

Add columns to dataframe K-Mean - Python

我正在使用此代码对数据帧进行 K 均值分析。我能够绘制生成的数据框,但我想向其中添加原始数据框列。我的 python 并不出色,所以它可能很简单,但无论我尝试什么,我总是得到无效的语法。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_samples

df2 = df[['x','y']]
k = KMeans(n_clusters=3)
assignedClusters = k.fit(df2)

sh_df = pd.DataFrame(
    {
        'silhouette': silhouette_samples(df2, assignedClusters.labels_),
        'cluster': assignedClusters.labels_
    }
)

sh_df 有两列,"silhouette" 和 "clusters" 值。我希望此 df 还包括我原始 df 中的 x 和 y 值。这可能吗?有人可以告诉我该怎么做吗?

简单做

sh_df['x'] = df2['x']
sh_df['y'] = df2['y']

假设 sh_dfmy_df 的顺序相同。也就是说,一个数据帧的第 n 行对应于另一个数据帧的第 n 行。