如何在pandas数据框列中找到一组值之间的相关性

发布于 2021-01-29 14:56:45

我有一个数据框df:

ID    Var1     Var2
1     1.2        4
1     2.1        6
1     3.0        7
2     1.3        8
2     2.1        9
2     3.2        13

我想找到的Pearson相关系数的值Var1,并Var2为每ID

因此结果应如下所示:

ID    Corr_Coef
1     0.98198
2     0.97073

更新:

必须确保变量的所有列均为intfloat

关注者
0
被浏览
89
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    df.groupby('ID').corr()
    

    输出:

                 Var1      Var2
    ID                         
    1  Var1  1.000000  0.981981
       Var2  0.981981  1.000000
    2  Var1  1.000000  0.970725
       Var2  0.970725  1.000000
    

    具有OP输出格式。

    df_out = df.groupby('ID').corr()
    (df_out[~df_out['Var1'].eq(1)]
              .reset_index(1, drop=True)['Var1']
              .rename('Corr_Coef')
              .reset_index())
    

    输出:

       ID  Corr_Coef
    0   1   0.981981
    1   2   0.970725
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看