我不知道为什么我不能使用numpy.concatenate函数将数组的多个维连接在一起。例如:
array_2d.shape = [1200,1200]
array2_2d.shape = [1200,1200]
final_array1 = numpy.concatenate((array_2d,array2_2d),axes=0) # shape = (2400,1200)
final_array2 = numpy.concatenate((array_2d,array2_2d),axes=1) # shape = (1200,2400)
有没有办法可以让2个数组连接两个轴以产生(2400,2400)的形状?或者我只是想通过数组连接错误地考虑这种方法?一些帮助将非常感谢!!!
答案 0 :(得分:0)
让我们考虑一下你要完成的任务,让我们将array1 A和array2 B以及一些未知数组称为X.如你所说,以下是2400 x 1200:
| A |
| B |
但这将是2400乘2400阵列:
| A | X |
| X | B |
所以这样:
| A | X |
| B | X |
这......:
| A | A |
| B | B |
真正的问题是你想要连接每个数组的次数,在哪个维度或者你想要零填充:
| A | 0 |
| 0 | B |
通过使用numpy创建一个零数组并在将结果连接在一起之前在A和B上以适当的方向连接,可以实现这一目的。
答案 1 :(得分:0)
您应该使用numpy.tile()。阅读this link了解更多信息。
示例:
a = np.array(([1,2],[3,4]))
b = np.tile(a, (2,2))
将通过重复两个轴从2x2数组创建4x4数组。