如何在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
更新:
必须确保变量的所有列均为int
或float
关注者
0
被浏览
89
1 个回答
-
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