【问题标题】:Python Pandas Loop through Dictionary Keys (which are tuples) and plot variables against each otherPython Pandas 通过字典键(元组)循环并相互绘制变量
【发布时间】:2018-10-24 14:41:13
【问题描述】:

我有一个相关矩阵(以 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

请参阅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')

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

这可能吗,还是我只是绊倒了?

谢谢你

【问题讨论】:

    标签: python pandas dictionary seaborn iterable-unpacking


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-26
      • 2019-08-11
      • 1970-01-01
      • 2013-08-06
      • 1970-01-01
      • 2019-08-09
      • 2018-05-13
      相关资源
      最近更新 更多