Python 水平垂直连接矩阵/数组
Posted Z.Q.Feng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 水平垂直连接矩阵/数组相关的知识,希望对你有一定的参考价值。
文章目录
一、前言
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
既可以为数组对象,也可以是矩阵对象。
四、总结
无。
以上是关于Python 水平垂直连接矩阵/数组的主要内容,如果未能解决你的问题,请参考以下文章