python - 像在 MATLAB 中一样在 Python 中连接矩阵/向量?

标签 python matlab numpy concatenation linear-algebra

Axyz 是一些适当大小的向量或矩阵。然后在 MATLAB 中,可以很容易地从中构建一个“ super 矩阵”B:

A = [1 2;3 4];
x = [4;5];
y = [1 2];
z = 4;
B = [A x;y z];

输出是:

>> B

B =

     1     2     4
     3     4     5
     1     2     4

在 NumPy 中实现相同效果的最佳方法是什么?

最佳答案

您可以使用 numpy.block :

In [27]: a
Out[27]: 
array([[1, 2],
       [3, 4]])

In [28]: x
Out[28]: 
array([[4],
       [5]])

In [29]: y
Out[29]: array([1, 2])

In [30]: z
Out[30]: 4

In [31]: np.block([[a, x], [y, z]])
Out[31]: 
array([[1, 2, 4],
       [3, 4, 5],
       [1, 2, 4]])

关于python - 像在 MATLAB 中一样在 Python 中连接矩阵/向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48604370/

相关文章:

python - 嵌套(二维)字典的类迭代器?

python - 使用 XLRD 模块在导入的 excel 文件中搜索字符串

matlab - Matlab 中可以出现哪些方法关键字(即 TestMethodSetup)?

python - 如何在numpy的范围内获得正态分布?

python - 在 python 中反转列表切片

python - 检查 pandas 数据框中的行是否包含特定值

c++ - 将 vector 拆分为 block - 这是正确的吗?

c# - 无法在已部署的 matlab dll 中使用 .NET 方法

python - 将两个列表合并到字典中并对第二个列表的元素求和

python - 如何从现有的字符串数据框列创建单词标记的 pandas 数据框?