Хранение результатов кластеризации - PullRequest
0 голосов
/ 26 мая 2019

Учитывая мои панды df, я делаю иерархическую кластеризацию матрицы корреляции следующим образом:

import scipy.cluster.hierarchy as sch

X = df.corr().values
d = sch.distance.pdist(X) 
L = sch.linkage(d, method='complete')
C = sch.fcluster(L, 0.5*d.max(), 'distance')

Мне нужна помощь в выполнении следующей простой задачи. Я хотел бы новый df_res с двумя столбцами: (1) Имя переменной, заданное столбцами моего исходного df, (2) кластер, к которому она принадлежит, на основе результатов в C. Что-то вроде:

VAR     CLUSTER
var_1   1
var_2   2
var_3   1
var_4   1
var_5   2

Заранее спасибо!

1 Ответ

1 голос
/ 26 мая 2019

Вы можете создать желаемый фрейм данных, как этот

df_res = pd.DataFrame([{'VAR': x, 'CLUSTER': y} for (x,y) in zip(df.columns, C)])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...