代码之家  ›  专栏  ›  技术社区  ›  Edward

将np.array(n,m)重塑为np.array(m,n)[重复]

  •  -1
  • Edward  · 技术社区  · 6 年前

    ar = np.array([[0, 1, 0, 1, 0, 1, 0, 1],
           [0, 1, 0, 0, 0, 1, 1, 1]])
    

    我想得到

    array([[0., 0.],
           [1., 1.],
           [0., 0.],
           [1., 0.],
           [0., 0.],
           [1., 1.],
           [0., 1.],
           [1., 1.]])
    

    ar.reshape(8,2)
    array([[0, 1],
           [0, 1],
           [0, 1],
           [0, 1],
           [0, 1],
           [0, 0],
           [0, 1],
           [1, 1]])
    

    npar = np.zeros((np.asarray(ar).shape[1],np.asarray(ar).shape[0]))
    npar[:, 0] = ar[0]
    npar[:, 1] = ar[1]
    npar
    array([[0., 0.],
           [1., 1.],
           [0., 0.],
           [1., 0.],
           [0., 0.],
           [1., 1.],
           [0., 1.],
           [1., 1.]])
    

    但是有没有更快捷的;方便的方式?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Atul Shanbhag    6 年前

    np.transpose(ar)