python相关系数

问题描述 投票:-1回答:2
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个不同,有67个项目。

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

python numpy correlation
2个回答
0
投票

变量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]))

0
投票
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])

这就是答案,顺便说一下。

© www.soinside.com 2019 - 2024. All rights reserved.