python 实现矩阵填充0的例子
2019-12-03 18:27
1151 查看
需求:
原矩阵
[[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.]]
思路:
先求出扩充矩阵的维度,再按照每一行每一列遍历,根据元素的索引规律依次赋值,最终实现新的扩充矩阵。这个思路实现如下:
import numpy as np def PadMat(Ndim, Mat): Brow = Bcol = 2*Ndim-1 B = np.zeros([Brow, Bcol]) for row in range(Brow): if row%2 == 0: for col in range(Bcol): if col%2 == 0: pos_c = int(col/2) pos_r = int(row/2) # print(row, col) B[row, col] = Mat[pos_r, pos_c] else: B[row, col] = 0 return B # A = np.arange(9) + 1 # A = A.reshape([3, 3]) A = np.arange(16) + 1 A = A.reshape([4, 4]) # print(A.shape[0]) N = Arow = Acol = A.shape[0] NewMat = PadMat(Ndim=N, Mat=A) print(A) print(NewMat)
总结:
这个思路很直接,但是循环套循环是一个很笨的办法,而且遍历也很慢。不知道网友有什么好的思路吗?
以上这篇python 实现矩阵填充0的例子就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- python操作摄像头截图实现远程监控的例子
- python flask几分钟实现web服务的例子
- Python实现矩阵相乘的三种方法小结
- 矩阵或多维数组两种常用实现方法 - python
- Python中实现远程调用(RPC、RMI)简单例子
- Python Qt GUI快速编程-第四章的Currency例子的python3+pytq5+Qt Designer实现
- python实现文件分组复制到不同目录的例子
- Python数据相关系数矩阵和热力图轻松实现
- Python实现螺旋矩阵:给定一个m*n要素的矩阵。按照螺旋顺序,返回该矩阵的所有要素。
- Python - 实现广度优先搜索BFS(以迷宫解救为例子)
- python 实现矩阵中每行最大的前x个值所在的位置
- 稀疏矩阵之python实现
- Python实现矩阵相乘
- python实现矩阵乘法的方法
- python实现螺旋矩阵的填充
- python实现数据预处理之填充缺失值的示例
- leetcode的python实现 刷题笔记74:搜索二维矩阵(二分查找的思想)
- Python实现的矩阵转置与矩阵相乘运算示例
- python实现一行输入多个值和一行输出多个值的例子
- python 接口实现 供第三方调用的例子