agrupamiento jerárquico en correlaciones en Python scipy / numpy?

¿Cómo puedo ejecutar la agrupación jerárquica en una matriz de correlación en scipy / numpy ? Tengo una matriz de 100 filas por 9 columnas, y me gustaría agrupar jerárquicamente por correlaciones de cada entrada en las 9 condiciones. Me gustaría usar la correlación de 1-Pearson como las distancias para agrupar. Suponiendo que tengo una matriz numpy X que contiene la matriz 100 x 9, ¿cómo puedo hacer esto?

Intenté usar hcluster, basado en este ejemplo:

 Y=pdist(X, 'seuclidean') Z=linkage(Y, 'single') dendrogram(Z, color_threshold=0) 

Sin embargo, pdist no es lo que quiero, ya que es una distancia euclidiana. ¿Algunas ideas?

Gracias.

Simplemente cambie la métrica a correlation para que la primera línea se convierta en:

 Y=pdist(X, 'correlation') 

Sin embargo, creo que el código se puede simplificar simplemente:

 Z=linkage(X, 'single', 'correlation') dendrogram(Z, color_threshold=0) 

Porque la vinculación se hará cargo del pdist por ti.