如何使用 pandas 在 excel sheet 中找到相关系数 r

How to find correlation coefficient r in excel sheet using pandas

我有一个 Excel 工作表,它有 250 行 x 10 列数据。我的因变量是 n_nnld_trp,我试图找出哪些自变量与其高度相关,以便在线性回归模型中使用。

我想做一个这样的 table 来总结相关数据,并使用图中的等式识别任何 multi-collinearity 的情况:

到目前为止,我设法使用数据透视表 table 来获取每一行的平均值,因变量为 n_hhld_trp:

trip_mean = pd.pivot_table(read_excel, index=['n_hhld_trip'],  
                aggfunc=np.mean)

打印(trip_mean.head())

我发现很难实现如上所示的 table 相关性,我欢迎并感谢任何帮助。

Numpy 具有计算任何此类常见事物的所有必要函数,因此计算数据帧最简单的方法是:

import numpy as np
r = np.corrcoef(df.values)

或者,要在单独的变量对之间进行计算,您可以将较小的数组提供给 corrcoef 函数,或者直接计算它:

r = np.cov(df.n_nnld_trp.values, df.other_col.values) / (np.std(df.n_nnld.trp.values) * np.std(df.other_col.values))

经过几个小时的挖掘,我得到了我想要的呈现方式。对于任何想做类似事情的人,请参见下面的代码:

import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
pearson_correlation = read_excel.corr(method='pearson')
print(pearson_correlation)

enter image description here