python相关系数

python correlation coefficent

import pandas as pd
import numpy as np
import seaborn
import scipy
import matplotlib.pyplot as plt

da=[]
outputFile = open ("core.txt","w")
f = open ('17059output.txt', "r")
lines = f.readlines()

for i in range (0,28):
   x = lines [6+(24*i):73+(24*i)]
   da.append(np.loadtxt('17059-2016-' + str(i+1) + '-' + str(i+4) + '.txt', 
   delimiter=",",usecols=2))
   np.array(x).astype(np.float)
   np.array(da).astype(np.float)
   print(x)
   print(da)
   print(np.corrcoef(x[i],da[i]))

   #print(scipy.stats.pearsonr(x[i],da[i]))
   #print(np.correlate(x[i],da[i],mode='valid'))
   #outputFile.write( str(i) + " - " + str(x) + "\n" )

您好,

所以我正在尝试计算 da 和 x 的相关性,但我做不到。问题来了;
ValueError:除连接轴外的所有输入数组维度必须完全匹配。

x 和 da 都有 67 个项目,我在 x 中有 744 行和 28 个不同的 da,其中有 67 个项目。

我基本上做了什么;我将 x 中的第 7 行到第 73 行剪切,并得到一个 i=0 的矩阵以及我的第一个 da '17059-2016-1-4.txt' 数据集。然后,在 x 中,我得到第 31 到第 97 行和“17059-2016-2-5.txt”。 两者都有67项,其实是可数的,但是不行。我无法在互联网上找到答案。python shell image

变量 da 被初始化为一个数组,下面的行向它附加了一个项目:

da.append(np.loadtxt('17059-2016-' + str(i+1) + '-' + str(i+4) + '.txt', delimiter=",",usecols=2))

所以 da 是一个包含一项的列表 - array。另一方面,x 是一个包含值列表的数组。您程序的输出显示情况就是如此。

因此,我认为你计算系数应该是这样的:

print(np.corrcoef(x, da[i]))
np.array(x).astype(np.float)

rekt = []
for m in x:
    rekt.append(float(m));

np.array(da[i]).astype(np.float)

print(np.corrcoef(rekt,da[i]))
output = np.corrcoef(rekt,da[i])

这就是答案,顺便说一句,我想出来了。