代码之家  ›  专栏  ›  技术社区  ›  Rahan Öztürk

python相关系数

  •  -1
  • Rahan Öztürk  · 技术社区  · 7 年前
    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

    2 回复  |  直到 7 年前
        1
  •  0
  •   Captain Whippet    7 年前

    变量 da 初始化为数组,以下行将向其追加一个项:

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

    所以 da公司 是包含一项的列表-an array . 另一方面 x 是包含值列表的数组。程序的输出表明情况就是这样。

    因此,我认为您的系数计算应如下所示:

    print(np.corrcoef(x, da[i]))
    
        2
  •  0
  •   Rahan Öztürk    7 年前
    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])
    

    这就是答案,顺便说一句,我找到了。