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

时间:2015-02-25 14:04:12

标签: python numpy

我一直在努力将2D numpy数组更改为2D numpy矩阵。我知道我可以使用numpy.asmatrix(x)将数组x更改为矩阵,但矩阵的大小不是我希望的大小。例如,我想要一个numpy.matrix((2,10))。我更容易使用两个单独的numpy.array来形成矩阵的每一行。然后我使用numpy.append将这两个数组放入矩阵中。但是,当我使用numpy.asmatrix将这个2d数组制作成2d矩阵时,其大小与我的矩阵的大小不同(我想要的矩阵的大小应该是2 * 10但是当我将数组更改为矩阵时,大小是1 * 2)。有谁知道如何将这个asmatrix的大小改为我想要的大小?

代码(a和b是两个大小为(1 * 10)的numpy.matrix):

    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的矩阵

由于

0 个答案:

没有答案