Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在numpy中组合阵列?_Python_Numpy_Concatenation - Fatal编程技术网

Python 如何在numpy中组合阵列?

Python 如何在numpy中组合阵列?,python,numpy,concatenation,Python,Numpy,Concatenation,我有一个3x2x2 numpy数组,我想加入另一个3x2数组,这样我的新数组就是3x2x3。我一直在尝试使用stack和concatenate,但我一直得到ValueError:所有输入数组必须具有相同的形状。现有数组如下所示 array([[[1, 1], [2, 2]], [[3, 3], [4, 4]], [[5, 5], [6, 6]]]) 我希望加入另一个类似的阵列: array([[1, 2],

我有一个3x2x2 numpy数组,我想加入另一个3x2数组,这样我的新数组就是3x2x3。我一直在尝试使用stack和concatenate,但我一直得到
ValueError:所有输入数组必须具有相同的形状
。现有数组如下所示

array([[[1, 1],
        [2, 2]],

       [[3, 3],
        [4, 4]],

       [[5, 5],
        [6, 6]]])
我希望加入另一个类似的阵列:

array([[1, 2],
       [3, 4],
       [5, 6]])
输出如下:

array([[[1., 1., 1.],
        [2., 2., 2.]],

       [[3., 3., 3.],
        [4., 4., 4.]],

       [[5., 5., 5.],
        [6., 6., 6.]]])

我不确定是否正确写入了输出,因为numpy显示3维矩阵的方式让我感到困惑-结果应该是形状(3,2,3)。我希望以迭代方式执行此操作,以便我可以继续扩展矩阵,使形状为(3,2,4),然后是(3,2,5),然后是(3,2,6)等等。

将3x2数组重塑为3x2x1,然后执行
dstack

a = array([[[1, 1],
            [2, 2]],
           [[3, 3],
            [4, 4]],
           [[5, 5],
            [6, 6]]])

b = array([[1, 2],
           [3, 4],
           [5, 6]])

np.dstack((a, b[...,None]))
#array([[[1, 1, 1],
#        [2, 2, 2]],
#       [[3, 3, 3],
#        [4, 4, 4]],
#       [[5, 5, 5],
#        [6, 6, 6]]])

np.dstack((a, b[...,None])).shape
#(3, 2, 3)
np.沿最后一个轴连接

np.concatenate((a, b[...,None]), axis=-1)

您引用了
堆栈
错误消息,但
串联
所有输入数组的维数必须相同。对吗?你知道怎么纠正吗?如何向(3,2)数组中添加维度?为什么要迭代执行此操作?为什么不将所有(3,2)数组收集到一个列表中,并用一个
串联来连接它们
?您能给我介绍一下
b[…,None]
?我尝试了
b.重塑(3,2,1)
,但似乎不起作用。似乎只有
np.dstack((a,b))
起作用。您可以看到
np.newaxis
None
的一些示例。而且
b.重塑(3,2,1)
的工作方式应与
b[…,无]