我有一个 N x 2 维 numpy 数组。我想做一个 (2*N) x 2,每列都重复。我很好奇是否有比我在下面写的更有效的方法来完成这项任务。
>>> a = np.array([[1,2,3,4],
[2,4,6,8]])
>>> b = np.array(zip(a.T,a.T))
>>> b.shape = (2*len(a[0]), 2)
>>> b.T
array([[1, 1, 2, 2, 3, 3, 4, 4],
[2, 2, 4, 4, 6, 6, 8, 8]])
按照 numpy 标准,上面的代码很慢,很可能是因为zip
. 有没有numpy
可以替换的功能zip
?或者更好的方法来完全做到这一点?