我可以使用哪种方法?

时间:2019-09-20 01:14:22

标签: python pandas numpy scipy correlation

我正在与anaconda一起使用下一个代码来取出两个矩阵之间的相关系数。 第一个矩阵读取矩阵左上角的1​​6个文件。 该总和是为了获得平均值以与另一个文件的结果进行比较

`` `python
for i in range(0,16):
    i = i + 5
    file = pd.read_csv(path,header=None)
    file=file.fillna(0)
    file = pd.DataFrame(file)
    matrix = np.matrix(file)
    matrix = np.flip(matrix, 1)
    b = np.copy(matrix) 
    b = np.swapaxes(b, 1, 0)
    np.fill_diagonal(b, 0)
    c = matrix + b
    sum = c.sum(0) / c.shape[0]
    sum=pd.DataFrame(sum)
    file2 = pd.read_csv(path,header=None)
    file2=pd.DataFrame(file2)
    file2 = file2.drop(file2.columns[48], axis=1)

` ``

如果sum是(1,48)的矩阵,而file2是(16,48)的矩阵,则两个文件之间的相关系数。

1 个答案:

答案 0 :(得分:1)

我做了一些研究,希望下面可以对您有所帮助:

  1. numpy.corrcoef
numpy.corrcoef(x, y=None, rowvar=True, bias=<no value>, ddof=<no value>)
     

返回Pearson乘积矩相关系数。

  1. Computing the correlation coefficient between two multi-dimensional arrays
  

两个2D数组之间的相关性(默认为“有效”大小写):

     

您可以像这样简单地使用矩阵乘法np.dot-

     

out = np.dot(arr_one,arr_two.T)

     

两个输入数组的每个成对行组合(row1,row2)之间的默认“有效”大小写的关联将对应于每个(row1,row2)位置的乘法结果。

如果我误解了,请澄清您的问题。

相关问题