python并排追加两个矩阵

wre*_*rek 6 python numpy

我在使用python时遇到了一些问题.

    A= [ [1,2,3]
         [4,5,6]
       ]

   B = [ [10,11]
         [12,13]
       ]
Run Code Online (Sandbox Code Playgroud)

我希望有:

   C = [A B]
     = [ [1,2,3,  10, 11]
         [4,5,6,  12, 13]
       ]
Run Code Online (Sandbox Code Playgroud)

我怎么在python中做到这一点?

wim*_*wim 10

您正在描述的基本用法np.hstack.

np.hstack((A, B))
Run Code Online (Sandbox Code Playgroud)

还有一个等价的索引技巧:

np.c_[A, B]
Run Code Online (Sandbox Code Playgroud)


kma*_*o23 5

另外,np.concatenateaxis=1

In [207]: np.concatenate((A, B), axis=1)
Out[207]: 
array([[ 1,  2,  3, 10, 11],
       [ 4,  5,  6, 12, 13]])
Run Code Online (Sandbox Code Playgroud)

如果您关心性能,那将np.concatenate是真正的战马。

In [215]: %timeit np.concatenate((A, B), 1)
The slowest run took 12.10 times longer than the fastest.
100000 loops, best of 3: 3.1 µs per loop

In [214]: %timeit np.hstack((A,B))
The slowest run took 6.85 times longer than the fastest.
100000 loops, best of 3: 12.5 µs per loop

In [216]: %timeit np.c_[A, B]
10000 loops, best of 3: 48.7 µs per loop
Run Code Online (Sandbox Code Playgroud)