大家好,我想在python中并排添加2个2x2数组。最后,我想得到一个2x4的数组,其中行是共享的,第一列和第二列来自第一个数组,第三列和第四列来自第二个数组。我得到一个数组,它对数组求和,而不是并排放在一起。你能帮帮我吗?
示例:
Array 1:
[[1 2]
[1 2]]
Array 2:
[[1 2]
[1 2]]
预期结果:
[[1 2 1 2]
[1 2 1 2]]
实际结果:
[[2 4]
[2 4]]
import numpy as np
a = np.matrix('1 2; 1 2')
b = np.matrix('1 2; 1 2')
x = a + b
print(x)
发布于 2018-08-11 04:23:56
>>> numpy.concatenate((a, b), axis=1)
matrix([[1, 2, 1, 2],
[1, 2, 1, 2]])
另一种选择是使用np.hstack
>>> np.hstack((a, b))
matrix([[1, 2, 1, 2],
[1, 2, 1, 2]])
发布于 2018-08-11 04:17:52
我认为发生这种情况的原因是因为加法返回一个正常的矩阵加法,它逐个分量地将两个矩阵相加。
试试,np.concatenate(),它可能会有帮助,正如@sacul所建议的那样。
https://stackoverflow.com/questions/51793495
复制相似问题