熊猫关联组通过几列

时间:2019-08-14 12:31:54

标签: python pandas group-by correlation

假设我有一个与以下数据帧相似的数据帧,如何使用groupby获取所有列之间的相关性?

我所拥有的:

DAY    Val1    Val2    Val3
1      4       3       4
1      3       8       6
1      2       3       4 
2      4       3       4
2      3       8       6
2      2       3       4

我需要什么:

DAY    CorrVal1-Val2    CorrVal1-Val3   CorrVal2-Val3
1      0.54             0.12            0.45
2      0.4              0.34            0.36

我正在使用df.groupby('DAY')[['VAL1','VAL2','VAL3']].corr(),但这并没有给我我假装获得的东西。 我想要这样的东西: enter image description here

1 个答案:

答案 0 :(得分:-1)

首先,您将获得以下结果:

df.groupby('DAY')[['Val1','Val2', 'Val3']].corr()

尽管如此,您仍然需要格式化结果以获取所需的输出。像这样:

(df[~df['Val1'].eq(1)]
          .reset_index(1, drop=True)['Val1']
          .rename('CorrVal1-Val2'))