【发布时间】:2019-02-27 03:52:50
【问题描述】:
我有一个这样的数组
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.]])
但是有没有更快捷方便的方法呢?
【问题讨论】:
-
简单地进行转置怎么样?
arr.T
标签: python arrays numpy reshape