如何通过改变形状将2D numpy数组转换为2D numpy矩阵

2024-04-20 12:58:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在努力将2D numpy数组更改为2D numpy矩阵。我知道我可以用numpy.asmatrix公司(x) 但是,要将数组x更改为矩阵,矩阵的大小不是我希望的大小。例如,我想要一个numpy.矩阵((2,10)). 对我来说,使用两个单独的numpy.arrays数组形成矩阵的每一行。然后我用numpy.append文件把这两个数组放到一个矩阵中。但是,当我使用numpy.asmatrix公司要将此2d数组生成2d矩阵,大小与我的矩阵不同(我所需的矩阵的大小应为2*10,但当我将数组更改为矩阵时,大小为1*2)。有人知道我怎么把这个矩阵的大小改成我想要的大小吗?你知道吗

代码(a和b是两个numpy.矩阵尺寸为(1*10)):

    m=10
    c=sorted(random.sample(range(m),2))
    n1=numpy.array([a[0:c[0]],b[c[0]:c[1]],a[c[1]:]])
    n2=numpy.array([b[0:c[0]],a[c[0]:c[1]],b[c[1]:]]) 
    n3=numpy.append(n1,n2)
    n3=numpy.asmatrix(n3)

n1和n2分别是形状为3的阵列,n3是形状为6的矩阵。我希望n3是一个2*10的矩阵

谢谢


Tags: 文件代码numpy尺寸公司矩阵数组array