如何在Python上将另一个大小的矩阵附加到另一个矩阵?

时间:2017-02-13 14:54:46

标签: python matrix

所以,我花了一些时间环顾四周,但没找到我想要的答案。我有两个数据文件,data1和data2,我已经从txt导入了。

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

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

有人可以帮忙吗? :)

1 个答案:

答案 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))