Python Pandas 遍历字典键(元组)并将变量相互绘制

Python Pandas Loop through Dictionary Keys (which are tuples) and plot variables against each other

我有一个相关矩阵(以 DataFrame 的形式),我从中 return 一个系列,它是前 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

有关我的意思的示例,请参阅 this。 我获取生成的 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')])

现在,我想做的是回到我原来的 DataFrame,从那里我计算了相关性,并通过字典键将这些列的元组相互绘制。

有点像这样:

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')

从某种意义上说,我想“解压”(不知道我是否用对了这个词)这些元组并将它们相互绘制?

这可能吗,还是我只是误会了?

先行致谢

您可以在 for 循环中迭代字典键,然后对元组中的每个元素进行子集化:

for key in top_corrs:    
    sns.lmplot(y = key[0],  x=key[1], data=originaldata, palette='Set1')