Python 带有组的数据帧,树状图中的簇

Python 带有组的数据帧,树状图中的簇,python,cluster-analysis,k-means,text-mining,hierarchical-clustering,Python,Cluster Analysis,K Means,Text Mining,Hierarchical Clustering,我有一个等长单词的列表(可能包含数字),这里我只发布了一个示例,我的完整数据集从1500到10000个单词不等。我需要比较它,结果我需要数据框与单词和它所属的组。所以,我用距离(Levenstein)做矩阵,用scipi做树状图。但我如何才能得到树状图中的成对“单词”和“组”。 非常感谢你的帮助 import numpy as np from scipy.cluster.hierarchy import dendrogram, linkage from scipy.spatial.distanc

我有一个等长单词的列表(可能包含数字),这里我只发布了一个示例,我的完整数据集从1500到10000个单词不等。我需要比较它,结果我需要数据框与单词和它所属的组。所以,我用距离(Levenstein)做矩阵,用scipi做树状图。但我如何才能得到树状图中的成对“单词”和“组”。 非常感谢你的帮助

import numpy as np
from scipy.cluster.hierarchy import dendrogram, linkage
from scipy.spatial.distance import squareform
import matplotlib.pyplot as plt
from Levenshtein import distance
import pandas as pd

xx = ["test", "test", "ates", "tesd", "agst", "dset", "aest", "aset", "deet", "sdff", "aftu", "zrzz", "zw54"]

List1 = xx
List2 = xx

Matrix = np.zeros((len(List1),len(List2)),dtype=np.int)

for i in range(0,len(List1)):
  for j in range(0,len(List2)):
      Matrix[i,j] = distance(List1[i],List2[j])


distm = pd.DataFrame(Matrix, index=List1, columns=List1)

mat = distm
#mat = np.array([[0.0, 2.0, 0.1], [2.0, 0.0, 2.0], [0.1, 2.0, 0.0]])
dists = squareform(mat)
linkage_matrix = linkage(dists, "single")
dendrogram(linkage_matrix, labels=mat.columns)
plt.title("Dist")
plt.xticks(rotation=90)
plt.show()