将 np.array(n, m) 重塑为 np.array(m, n)
Reshape np.array(n, m) to np.array(m, n)
我有一个这样的数组
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.]])
但是有没有更快捷方便的方法呢?
你只需要进行我认为的转置
np.transpose(ar)
我有一个这样的数组
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.]])
但是有没有更快捷方便的方法呢?
你只需要进行我认为的转置
np.transpose(ar)