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 相关文章推荐
用Python编程实现语音控制电脑
Apr 01 Python
Linux下为不同版本python安装第三方库
Aug 31 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
python bmp转换为jpg 并删除原图的方法
Oct 25 Python
使用python3实现操作串口详解
Jan 01 Python
Linux下远程连接Jupyter+pyspark部署教程
Jun 21 Python
python实现飞机大战小游戏
Nov 08 Python
Python: 传递列表副本方式
Dec 19 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
Python Dataframe常见索引方式详解
May 27 Python
python语言的优势是什么
Jun 17 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使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
javascript 闭包疑问
2010/12/30 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
AngularJS基础 ng-click 指令示例代码
2016/08/01 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
vuex提交state&&实时监听state数据的改变方法
2018/09/16 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
js实现QQ邮箱邮件拖拽删除功能
2020/08/27 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
python随机生成指定长度密码的方法
2015/04/04 Python
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
html5 canvas实现跟随鼠标旋转的箭头
2016/03/11 HTML / CSS
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
Eclipse面试题
2014/03/22 面试题
农业大学毕业生的个人自我评价
2013/10/11 职场文书
国际商务专业毕业生自我鉴定2014
2014/09/27 职场文书
铣工实训报告
2014/11/05 职场文书
2014年驻村干部工作总结
2014/11/17 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
一级电子管军用接收机测评
2022/04/05 无线电
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android