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 相关文章推荐
Django查找网站项目根目录和对正则表达式的支持
Jul 15 Python
Python for循环中的陷阱详解
Jul 13 Python
在cmder下安装ipython以及环境的搭建
Oct 19 Python
python如何实现一个刷网页小程序
Nov 27 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
Python 实现交换矩阵的行示例
Jun 26 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
python 直接赋值和copy的区别详解
Aug 07 Python
复化梯形求积分实例——用Python进行数值计算
Nov 20 Python
Python虚拟环境库virtualenvwrapper安装及使用
Jun 17 Python
pytorch快速搭建神经网络_Sequential操作
Jun 17 Python
Python 代码调试技巧示例代码
Aug 11 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实现定时任务的五种方法
2016/07/25 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
JavaScript 撑出页面文字换行
2009/06/15 Javascript
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
JS实现根据当前文字选择返回被选中的文字
2014/05/21 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
nodejs基础应用
2017/02/03 NodeJs
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
彻底解决 webpack 打包文件体积过大问题
2017/07/07 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
Python实现的建造者模式示例
2018/08/06 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
python3实现绘制二维点图
2019/12/04 Python
使用python模拟高斯分布例子
2019/12/09 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
python3处理word文档实例分析
2020/12/01 Python
美国嘻哈首饰购物网站:Hip Hop Bling
2016/12/30 全球购物
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
数控技术与应用毕业生自荐信
2013/09/24 职场文书
教师找工作推荐信
2013/11/23 职场文书
初中数学教学反思
2014/01/16 职场文书
高中生学期学习自我评价
2014/02/24 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
尊师重教演讲稿
2014/09/04 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
介绍长城的导游词
2015/01/30 职场文书
道歉的话语大全
2015/05/12 职场文书
Python经常使用的一些内置函数
2022/04/11 Python