假设我有一个与以下数据帧相似的数据帧,如何使用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()
,但这并没有给我我假装获得的东西。
我想要这样的东西:
答案 0 :(得分:-1)
首先,您将获得以下结果:
df.groupby('DAY')[['Val1','Val2', 'Val3']].corr()
尽管如此,您仍然需要格式化结果以获取所需的输出。像这样:
(df[~df['Val1'].eq(1)]
.reset_index(1, drop=True)['Val1']
.rename('CorrVal1-Val2'))