2014-11-25 67 views
2

我试图通过在每行之后添加一行零来修改NumPy数组。我的矩阵有491行,我最终应该有一个有982行的矩阵。我尝试了多种使用np.repeatnp.tile等的方法无济于事。Numpy数组,插入交替的零行

任何人都可以帮助我解决这个问题吗?

回答

8

你可以通过首先初始化一个982行数组,然后填充交替的行,例如(5列)执行此操作:

a=np.zeros((982,5)) 
b=np.random.randint(0,100,(491,5)) # your 491 row matrix 
a[::2] = b 
+0

不错的使用':: 2' – Paul 2014-11-25 11:59:50

+0

非常感谢你,那工作:) – Liviu 2014-11-25 12:09:10

0

这里要添加一个片断插入零的交替的行和在替代列中也是零。虽然它现在不会有用。但有人可能会认为它是一个旧帖子很有用。

import numpy as np 

a = np.array([[ 0.1, 0.2, 0.3], 
     [ 1.1, 1.2, 1.3]]) 

b = np.zeros((a.shape[0]*2, a.shape[0]+a.shape[1]+1)) 

for i1,r in enumerate(a): 
    for i2,e in enumerate(r): 
    b[i1*2][i2*2] = e 

print(b)