4
我有一個N×2維numpy數組。我想做一個(2 * N)x 2,其中每列重複。我很好奇,如果有比我下面寫的更有效的方法來完成這項任務。插入一個numpy數組本身
>>> 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
替換?或者更好的方法來完成這一切?
美麗。我不能希望有更好的。 – Wilduck
您可以使用'axis'參數簡化重複的使用:'a.repeat(2,axis = 1)'。 –
@WarrenWeckesser:對,你是! – DSM