Python 3.x corrcoef()对返回值表示怀疑

Python 3.x corrcoef()对返回值表示怀疑,python-3.x,numpy,correlation,pearson-correlation,Python 3.x,Numpy,Correlation,Pearson Correlation,我需要两个矩阵X,Y之间的皮尔逊相关系数。 如果我运行代码corr=numpy.corrcoef(X,Y)我的输出是一个具有相关系数的矩阵。 但是,我需要一个值来表示两个矩阵之间的相关性 我刚才在这个kennytm上看到,要有一个值,我应该写numpy.corrcoef(X,Y)[1,0] 这个解决方案是可行的,但我不明白方括号内的数字是什么意思,也不明白为什么要把它们加起来作为一个值 我将1和0解释为系数的极限,但是矩阵中的所有系数会发生什么? 对它们计算什么类型的操作以获得单个值? 如果我更

我需要两个矩阵X,Y之间的皮尔逊相关系数。 如果我运行代码
corr=numpy.corrcoef(X,Y)
我的输出是一个具有相关系数的矩阵。 但是,我需要一个值来表示两个矩阵之间的相关性

我刚才在这个kennytm上看到,要有一个值,我应该写
numpy.corrcoef(X,Y)[1,0]

这个解决方案是可行的,但我不明白方括号内的数字是什么意思,也不明白为什么要把它们加起来作为一个值

我将1和0解释为系数的极限,但是矩阵中的所有系数会发生什么? 对它们计算什么类型的操作以获得单个值?
如果我更改方括号内的数字,例如
[1,-1]
(),
corr
的值会更改,因此我不知道应该在方括号内使用哪些数字。

numpy.corrcoef
返回一个包含每对行的相关系数的矩阵。例如,
A.shape=(3,3)
B.shape=(3,3)
将返回一个
(6,6)
矩阵,因为有36行组合。注意,它是一个对称矩阵,因为它返回(例如,
a[1],B[1]
(索引
[1,4]
)和
B[1],a[1]
(索引
[4,1]
)的相关性。当你有两个一维数组时,你会得到一个
(2,2)
矩阵:第一个数组与其自身的相关性
[0,0]
,第一个数组与第二个数组的相关性
[0,1]
,第二个数组与第一个数组的相关性
[1,0]
,以及第二个数组与自身的相关性
[1,1]

import numpy as np
A = np.random.randint(low=0, high=99, size=(3,3))
B = np.random.randint(low=0, high=99, size=(3,3))
C = np.corrcoef(A,B)
print(C[1,4]==np.corrcoef(A[1],B[1])[0,1]) # True
如果需要二维相关性(如图像之间的相关性),请展平二维阵列,以便为每个阵列获得一行。然后,该相关矩阵的元素
[0,1]
[1,0]
将是二维阵列如何完全相互关联

print(np.corrcoef(A.flatten(), B.flatten())[0,1])

[1,0]
正是Python中索引的工作方式。执行
corrcoef(X,Y)
时,输出是一个大小由输入数组大小决定的数组。要访问此类数组的特定元素,请使用方括号。更一般地说,
[i,j]
指的是第i行和第j列中的元素。
-1
用于沿特定轴索引最后一个元素。