如何在pandas数据框列中找到一组值之间的相关性 [英] How to find the correlation between a group of values in a pandas dataframe column

查看:338
本文介绍了如何在pandas数据框列中找到一组值之间的相关性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据框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

我想为每个ID

因此结果应如下所示:

ID    Corr_Coef
1     0.98198
2     0.97073

更新:

必须确保变量的所有列都是intfloat

Must make sure all columns of variables are int or float

推荐答案

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

这篇关于如何在pandas数据框列中找到一组值之间的相关性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆