使用循环比较2个多维数组

时间:2017-02-13 18:06:18

标签: python loops numpy multidimensional-array

我的任务是比较两组数据,每组数据存储在两个独立的csv文件中。它们都包含2列,大约有数千个条目。我已经填充了2个独立的数组,但现在我想比较每个数组的1列。我对python完全是绿色的,并且对比较2个数组的最佳方法感到非常困惑。

这是我目前的代码:

import numpy as np 
with open ('Flight_3_GPS.csv', 'r') as f:
    GPS = [] #create an empty list
    for line in f:
        GPS.append([float(i) for i in line.strip('\n').split(',')])
    GPS = np.transpose(GPS)
    #print(GPS[0][87]) #[column][row]

with open ('Flight_3_V_Data.csv', 'r') as f:
    Data = [] #create an empty list
    for line in f:
        Data.append([float(i) for i in line.strip('\n').split(',')])
    Data = np.transpose(Data)
    #print(Data[1][56]) #[column][row]

i=0
j=0
for i in GPS[i,1]:
    for j in Data[j,1]:
        if i == j:
           print(j)
           print(i)

因此,如果前两行不匹配,则循环继续比较下一对行

由于

1 个答案:

答案 0 :(得分:1)

要小心,在python中,你的第一列是0而不是1。

for i,val_gps in enumarate(GPS[:,0]): 
    if val_gps == Data[i,0]:
       print('GPSindex ' + str(i) + ' : ' + str(val_gps) ' matches with  dataindex ' + str(i) + ' : ' + str(Data[i,0]))