Python Как сделать дендрограмму из кадра данных
Я пытаюсь найти дендрограмму данных, созданных с помощью пакета PANDAS в Python. Пример данных приведен ниже.
import numpy as np
from pandas import *
import matplotlib.pyplot as plt
from hcluster import pdist, linkage, dendrogram
from numpy.random import rand
Index= ['aaa','bbb','ccc','ddd','eee']
Cols = ['A', 'B', 'C','D']
df = DataFrame(abs(np.random.randn(5, 4)), index= Index, columns=Cols)
>>> df
A B C D
aaa 0.987415 0.192240 0.709559 0.317106
bbb 0.856932 0.252441 1.183127 0.712855
ccc 1.687198 0.462673 1.046469 0.159287
ddd 0.977152 2.657582 0.491975 0.027280
eee 0.120464 0.945034 0.142658 0.537024
>>>
X = df.T.values #Transpose values
Y = pdist(X)
Z = linkage(Y)
dendrogram(Z)
Приведенный выше код генерирует дендрограмму, но пропускает имена столбцов. Как я могу следить за тем же.
1 ответ
По предложению @Wouter Overmiere, следующее сработало для меня.
X = df.T.values #Transpose values
Y = pdist(X)
Z = linkage(Y)
dendrogram(Z, labels = df.columns)