将列添加到数据框 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_df
和 my_df
的顺序相同。也就是说,一个数据帧的第 n 行对应于另一个数据帧的第 n 行。
我正在使用此代码对数据帧进行 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_df
和 my_df
的顺序相同。也就是说,一个数据帧的第 n 行对应于另一个数据帧的第 n 行。