首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python中追加多个矩阵

如何在python中追加多个矩阵
EN

Stack Overflow用户
提问于 2020-12-22 18:46:04
回答 2查看 2.6K关注 0票数 1

我读过以下相关的讨论What's the simplest way to extend a numpy array in 2 dimensions?

但是,如果我想要扩展多个矩阵,例如

代码语言:javascript
复制
A = np.matrix([[1,2],[3,4]])
B = np.matrix([[3,4],[5,6]])
C = np.matrix([[7,8],[5,6]])
F = np.append(A,[[B]],0)

然而,python说

ValueError:所有输入数组必须具有相同的维数,但索引0处的数组具有二维,而索引1处的数组具有4维。

我想把B放在矩阵A下面,把C放在矩阵B下面。

所以,F应该是一个6X2矩阵。

怎么做?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-22 19:33:36

尝试使用numpy.concatenate (https://numpy.org/doc/stable/reference/generated/numpy.concatenate.html):

代码语言:javascript
复制
A = np.matrix([[1,2],[3,4]])
B = np.matrix([[3,4],[5,6]])
C = np.matrix([[7,8],[5,6]])
# F = np.append(A,[[B]],0)
F = np.concatenate((A, B, C), axis=1)

将axis参数更改为0,以组合矩阵‘垂直’:

代码语言:javascript
复制
print(np.concatenate((A, B, C), axis=1))

[1 2 3 4 7 8]

代码语言:javascript
复制
print(np.concatenate((A, B, C), axis=0))

[1 2]

3 4

7[ 8]

票数 2
EN

Stack Overflow用户

发布于 2020-12-22 19:33:28

我认为np.concatenate应该能做到这一点

代码语言:javascript
复制
    A = np.matrix([[1,2],[3,4]])
    B = np.matrix([[3,4],[5,6]])
    C = np.matrix([[7,8],[5,6]])
    ABC = np.concatenate([A,B,C],axis = 0) # axis 0 stacks it one above the other
    
    print("Shape : ",ABC.shape)
    print(ABC)

产出:

代码语言:javascript
复制
    Shape : (6, 2)
    matrix(
    [[1, 2],
    [3, 4],
    [3, 4],
    [5, 6],
    [7, 8],
    [5, 6]])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65414216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档