是否有一个numpy(或Python)函数来关联二维numpy数组(n,m)的每一列

Is there a numpy (or Python) function to correlate each columns of 2D numpy array (n,m)

我有两个 numpy 矩阵(6 行和 3 列):

a = np.array([[1,2,4],[3,6,2],[3,4,7],[9,7,7],[6,3,1],[3,5,9]])

b = np.array([[4,5,2],[9,2,5],[1,5,6],[4,5,6],[1,2,6],[6,4,3]])

a = array([[1, 2, 4],
       [3, 6, 2],
       [3, 4, 7],
       [9, 7, 7],
       [6, 3, 1],
       [3, 5, 9]])

b = array([[4, 5, 2],
       [9, 2, 5],
       [1, 5, 6],
       [4, 5, 6],
       [1, 2, 6],
       [6, 4, 3]])

我想计算a和b的第一列、a和b的第二列以及a和b的第三列之间的皮尔逊相关系数。 结果将是一个向量 3(3 相关系数)。

使用 numpy.corrcoefdiagonal 的一种方式:

corr = np.corrcoef(a.T, b.T).diagonal(a.shape[1])
corr

输出:

array([-0.2324843 , -0.03631365, -0.18057878])