2017-02-13 256 views
0

所以,我花了一些时间环顾四周,但没有找到我正在寻找的答案。我有两个数据文件,data1和data2,我从txt中导入。如何在Python上添加一个不同大小的矩阵到另一个矩阵?

每一个都是一个矩阵,数据1有N1行和2列,data2也有N2行和2列。请注意,N1不等于N2。 我想制作第三个矩阵data3,前两列是来自data1的两列,另外两列是来自data2的列。而且,它们应该具有相同的长度(也就是说,我们必须通过消除矩阵中超出更大的条目来强制N1 = N2)。

总结:在这种情况下,我们应该得到一个矩阵N 4,其中N是最小(N1,N2)。

任何人都可以帮忙吗? :)

+0

看起来像你有一个很好的回答你问题。也许你应该接受它? –

回答

0

如果你的矩阵是列表的列表,那么这将它们合并为你描述:

[data1[i] + data2[i] for i in range(min(len(data1), len(data2)))] 

如果你想将它们直接从你能做到这一点结合文件:

data1 = [line.strip() for line in open('data1.txt').readlines()] 
data2 = [line.strip() for line in open('data2.txt').readlines()] 
for first, second in zip(data1, data2): 
    print('{0} {1}'.format(first, second)) 

如果你不想读这两个文件到内存中,你可以这样做:

data1 = open('data1.txt') 
data2 = open('data2.txt') 
while True: 
    first = data1.readline().strip() 
    second = data2.readline().strip() 
    if not first or not second: 
     break 
    print('{0} {1}'.format(first, second)) 
相关问题