2017-07-28 42 views
0

所以我有10个txt文件名为A_1,A_2,...... A_10和一个名为A的工作txt文件。在这些txt文件的每一列中,有4320个值。我的目标是只比较A txt文件的任何列的前1440个值与其他10个txt文件(A_1,A_2,... A_10)并找出差异的平方和。我的做法是这样的,但它给了我所有的4320个值的差异,我被困在如何manipluate代码发现只有第一个1440个值之差:txt文件的值范围之间的差异

import numpy as np 
filelist=[] 
for i in range(1,11): 
    filelist.append("/Users/Hrihaan/Desktop/A_%s.txt" %i) 
for fname in filelist: 
    data=np.loadtxt(fname) 
    data1=np.loadtxt('/Users/Hrihaan/Desktop/A.txt') 
    x=data[:,1] 
    x1=data1[:,1] 
    x2=(x-x1)**2 
    x3=sum(x2) 
    print(fname) 
    print(x3) 

回答

1

添加下面的片应该做的招。

np.loadtxt(fname)[:1440] 

它使数据仅包括行索引0到但不包括1440 ...因为Python是从零开始的索引,那给你1440行总数。

for fname in filelist: 
    data=np.loadtxt(fname)[:1440] 
    data1=np.loadtxt('/Users/Hrihaan/Desktop/A.txt') 
    x=data[:,1] 
    x1=data1[:,1] 
    x2=(x-x1)**2 
    x3=sum(x2) 
    print(fname) 
    print(x3) 
+0

它的工作,试图在过去24小时内以这样复杂的方式做它,不知道一个简单的伎俩会做,谢谢一吨。 – Hrihaan

+0

因此,我的代码在最后两个命令中设置的方式,它打印出文件名(A_1,A_2 ..... A_10)和差异平方和,我想知道最小的3个差异和它们的差异相应的文件,在我的代码中手动查看我可以做到的答案,但是当我将处理许多不可行的文件时。任何建议如何才能打印出最小的3个和它们相应的txt文件名? – Hrihaan