python实现矩阵填充0的例子

  

<强>需求:

  

<强>原矩阵

        [(1 2 3)   (4 5 6)   [7 8 9]]      

在原矩阵元素之间填充元素0,得到

        [[1。0. 2. 0. 3。)   [0。0. 0. 0. 0。)   (4。0. 5. 0. 6。)   [0。0. 0. 0. 0。)   (7。0. 8. 0. 9。]]      

  

先求出扩充矩阵的维度,再按照每一行每一列遍历,根据元素的索引规律依次赋值,最终实现新的扩充矩阵。这个思路实现如下:

        进口numpy np      def PadMat (Ndim垫):   额=Bcol=2 * Ndim-1   B=np。0([额头,Bcol])   的行范围(眉毛):   如果行% 2==0:   上校的范围(Bcol):   如果坳% 2==0:   pos_c=int (col/2)   pos_r=int(行/2)   坳#打印(行)   B[行,坳]=垫(pos_r, pos_c)   其他:   B[行,坳]=0   返回B         #=np.arange (9) + 1   #=V厮?[3])=np.arange (16) + 1   一个=V厮?(4,4))   #打印(A.shape [0])   N=持续地=埃珂叫牌法=A.shape [0]      NewMat=PadMat (Ndim=N,垫=一个)   print ()   打印(NewMat)   之前      

  

这个思路很直接,但是循环套循环是一个很笨的办法,而且遍历也很慢。不知道网友有什么好的思路吗?

  

以上这篇python实现矩阵填充0的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

python实现矩阵填充0的例子