【问题标题】:Is there a numpy (or Python) function to correlate each columns of 2D numpy array (n,m)是否有一个 numpy(或 Python)函数来关联 2D numpy 数组(n,m)的每一列
【发布时间】:2021-12-14 23:23:26
【问题描述】:

我有两个 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.corrcoef 正是这样做的
  • 我认为 numpy corrcoeff 不会产生向量作为输出。我一直在寻找示例,但不确定是否可以使用

标签: numpy matrix pearson-correlation


【解决方案1】:

使用numpy.corrcoefdiagonal 的一种方式:

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

输出:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-28
    • 2021-08-15
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    相关资源
    最近更新 更多