使用python处理大数据的性能问题

enter code here
def cov(X):
y=0
t=np.mean(X,axis=0,dtype=float)
Matrix = [[0 for x in range(len(X[0]))] for y in range(len(X[0]))]
Matrix=np.array(Matrix,dtype=float)
length=len(X[0])
lengthRows=len(X)
for i in range(0,length):
    for j in range(0,length):
        for k in range(0,lengthRows):
            y=y+((X[k,j]-t[j])*(X[k,i]-t[i]))
        Matrix[i,j]=y/lengthRows
        y=0
return Matrix

enter code here 
def corr(X):
  MatrixCov=cov(X)
  Korr=MatrixCov.copy()
  diagonale=MatrixCov.diagonal()
  lengthD=len(MatrixCov)
  for i in range(0,lengthD):
    for j in range(0,lengthD):
        Korr[i,j]=MatrixCov[i,j]/(math.sqrt(diagonale[i])*math.sqrt(diagonale[j]))
  return Korr

我必须定义两种方法,一种方法是创建(数据列的)协方差矩阵,而另一种方法是创建协方差矩阵。因此,基本上我的方法是有效的,但我的教授给我们提供了一个大数据表,用于完成最后的任务,该表具有10000行以上和57个列。因此,我的代码必须创建一个具有协方差的57x57矩阵。但是,一旦我用intel7 2.6Ghz 8gb ram笔记本电脑执行第二种方法(corr(BigData)),一切都会变慢,结果也不会弹出。所以我很确定我的两种方法都存在效率问题,但是我不知道应该在哪里削减代码以使其更快。希望您能提供帮助,谢谢

tomtomtom3 回答:使用python处理大数据的性能问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3113730.html

大家都在问