如何将GMM聚类的value_counts转为DataFrame并筛选GMM_labels为1的数据
解决GMM聚类结果转换与DataFrame筛选问题
1. 将GMM的value_counts结果转为行列结构DataFrame
假设你的原始DataFrame已包含GMM_labels列,先获取标签的计数结果并转换为标准DataFrame结构:
# 获取标签计数并转为DataFrame count_df = df['GMM_labels'].value_counts().reset_index() # 重命名列名让结果更清晰 count_df.columns = ['聚类标签', '对应样本数']
2. 筛选GMM_labels为1的行
直接通过布尔索引完成筛选,得到仅包含目标标签的子DataFrame:
# 筛选标签为1的所有行 filtered_df = df[df['GMM_labels'] == 1]
补充操作(若标签未合并到原始DataFrame)
如果你的GMM标签是通过模型predict单独生成的,先把标签合并到原始20行21列的DataFrame中:
# 假设gmm是训练好的模型,X是原始特征数据 labels = gmm.predict(X) # 将标签列加入原始DataFrame df['GMM_labels'] = labels
之后再执行上述的计数转换和筛选操作即可。
内容的提问来源于stack exchange,提问作者0002_codnel
相关产品推荐
相关产品推荐

