2016-02-28 188 views
1

比方說,我有一個size mXn的矩陣in在numpy中加倍矩陣

我試圖創建大小2mX2n的矩陣out使得 的out基質含有基本上相同的元件作爲in矩陣, 除了值與零交替。

例如:

in = [[ 1,2,3], 
     [4,5,6]] 

out = [[1,0,2,0,3,0], 
     [0,0,0,0,0,0], 
     [4,0,5,0,6,0], 
     [0,0,0,0,0,0]] 

是否有一個量化的方式來實現這一目標?

回答

3

使用NumPy的:

import numpy as np 

你的數據:

a = np.array([[ 1,2,3], 
       [4,5,6]]) 

創建一個數組兩次沿兩個維度的尺寸:

b = np.zeros([x * 2 for x in a.shape], dtype=a.dtype)) 

a值分配給每個第二值b,同樣在兩個維度上:

b[::2,::2] = a 

結果:

>>> b 
array([[1, 0, 2, 0, 3, 0], 
     [0, 0, 0, 0, 0, 0], 
     [4, 0, 5, 0, 6, 0], 
     [0, 0, 0, 0, 0, 0]])