集中2个向量阵列

时间:2018-03-07 16:37:33

标签: python-3.x numpy

嗨我有2个向量数组:

A=np.array([[5,62,7],[5,62,7],[5,62,7]])
B=np.array([[1,2,3],[1,2,3],[1,2,3]])

我想像那样集中精力:

C=[[[5,62,7], [1,2,3]],
   [[5,62,7], [1,2,3]],
   [[5,62,7], [1,2,3]]] 

2 个答案:

答案 0 :(得分:1)

新的stack使这很容易:

In [130]: A=np.array([[5,62,7],[5,62,7],[5,62,7]])
     ...: B=np.array([[1,2,3],[1,2,3],[1,2,3]])
     ...: 
In [131]: np.stack((A,B), axis=1)
Out[131]: 
array([[[ 5, 62,  7],
        [ 1,  2,  3]],

       [[ 5, 62,  7],
        [ 1,  2,  3]],

       [[ 5, 62,  7],
        [ 1,  2,  3]]])

它为每个数组添加了一个额外的维度,然后连接。 axis=0的行为就像np.array

np.array((A,B)).transpose(1,0,2)

将它们连接到新的第一轴上,然后移动它。

答案 1 :(得分:0)

hstack().reshape()救援:

import numpy as np

A=np.array([[5,62,7],[5,62,7],[5,62,7]])
B=np.array([[1,2,3],[1,2,3],[1,2,3]])

c = np.hstack((A,B)).reshape(3,2,3)

print(c)

输出:

 [[[ 5 62  7]      [ 1  2  3]]

 [[ 5 62  7]      [ 1  2  3]]

 [[ 5 62  7]      [ 1  2  3]]]