У меня есть корреляционная матрица (в форме DataFrame), из которой я возвращаю Серию, которая является n первыми коррелированными парами столбцов и значением корреляции:
HCT HGB 0.928873
ALT AST 0.920744
MCH MCV 0.861742
bpsys bpdia 0.846069
HCT RBC 0.769507
HGB RBC 0.697879
gender_Male 0.690716
CL SODIUM 0.688227
LYM WBC 0.672971
RBC gender_Male 0.663275
HCT gender_Male 0.660515
MCH MCHC 0.571524
age HGB 0.512578
HGB MCHC 0.506935
age gender_Male 0.493219
dtype: float64
См. это для примера того, что я имею в виду.Я беру результирующий объект Series, а затем преобразую его в словарь следующим образом:
top_corrs = top_corrs.to_dict()
Полученные ключи этого словаря являются кортежами из первых n коррелированных переменных, которые я нашел:
top_corrs.keys()
В результате получается 15 ключей:
dict_keys([('HCT', 'HGB'), ('ALT', 'AST'), ('MCH', 'MCV'), ('bpsys', 'bpdia'), ('HCT', 'RBC'), ('HGB', 'RBC'), ('HGB', 'gender_Male'), ('CL', 'SODIUM'), ('LYM', 'WBC'), ('RBC', 'gender_Male'), ('HCT', 'gender_Male'), ('MCH', 'MCHC'), ('age', 'HGB'), ('HGB', 'MCHC'), ('age', 'gender_Male')])
Теперь я хотел бы вернуться к исходному кадру данных, из которого я рассчитал корреляции, и построить эти кортежи столбцов друг против друга, проходя по циклу.словарные ключи.
Примерно так:
Key1 = ('HCT', 'HGB')
sns.lmplot(y = ‘HCT’ x=’HGB’, data= originaldata, hue=huevar, col=colvar, palette='Set1')
Key2 = ('ALT', 'AST')
sns.lmplot(y = ‘HCT’ x=’HGB’, data= originaldata, hue=huevar, col=colvar, palette='Set1')
В каком-то смысле я хочу «распаковать» (не знаю, правильно ли я использую это слово) эти кортежи и построить их друг против друга?
Возможно ли это, или яЯ просто споткнулся?
Спасибо в avbance