python 实现矩阵填充0的例子


Posted in Python onNovember 29, 2019

需求:

原矩阵

[[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 相关文章推荐
浅谈终端直接执行py文件,不需要python命令
Jan 23 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
Mar 31 Python
Python装饰器知识点补充
May 28 Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 Python
python 进程 进程池 进程间通信实现解析
Aug 23 Python
python flask搭建web应用教程
Nov 19 Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
Apr 22 Python
使用python实现时间序列白噪声检验方式
Jun 03 Python
python中Array和DataFrame相互转换的实例讲解
Feb 03 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 Python
详解Django的MVT设计模式
Apr 29 Python
python循环嵌套的多种使用方法解析
Nov 29 #Python
python写一个随机点名软件的实例
Nov 28 #Python
关于Python-faker的函数效果一览
Nov 28 #Python
python 监测内存和cpu的使用率实例
Nov 28 #Python
python随机生成库faker库api实例详解
Nov 28 #Python
python的faker库用法
Nov 28 #Python
关于python中plt.hist参数的使用详解
Nov 28 #Python
You might like
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
JavaScript类和继承 prototype属性
2010/09/03 Javascript
js加强的经典分页实例
2013/03/15 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
JavaScript代码生成PDF文件的方法
2016/02/26 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
js实现上传并压缩图片效果
2018/01/10 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
三个python爬虫项目实例代码
2019/12/28 Python
python机器学习库xgboost的使用
2020/01/20 Python
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
巴西在线鞋店:Shoestock
2017/10/28 全球购物
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
高三自我评价
2014/02/01 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
个人工作表现评语
2014/04/30 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL