一、前言
Python 的 numpy 数组或矩阵并不能像 MATLAB 一样的使用 [a b] 或 [a; b] 的形式连接起来,例如如下两个数组:
import numpy as np
a = np.zeros([3, 4])
b = np.ones([3, 4])
若使用 [a, b] 连接,效果如下:
In [1]: [a, b]
Out[1]:
[array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]]),
array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])]
其由 np.ndarray 对象转变为了 list 对象,不是我们的本意。
二、水平连接矩阵、数组
水平连接数组:
np.hstack([a, b])
输出如下:
In [2]: np.hstack([a, b])
Out[2]:
array([[0., 0., 0., 0., 1., 1., 1., 1.],
[0., 0., 0., 0., 1., 1., 1., 1.],
[0., 0., 0., 0., 1., 1., 1., 1.]])
这里的 a, b 既可以为数组对象,也可以是矩阵对象。
三、垂直连接矩阵、数组
垂直连接数组:
np.vstack([a, b])
输出如下:
In [3]: np.vstack([a, b])
Out[3]:
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.],
[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
同理,这里的 a, b 既可以为数组对象,也可以是矩阵对象。
四、总结
无。
|