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 相关文章推荐
使用python3.5仿微软记事本notepad
Jun 15 Python
Python读取图片为16进制表示简单代码
Jan 19 Python
python使用Tesseract库识别验证
Mar 21 Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 Python
python用BeautifulSoup库简单爬虫实例分析
Jul 30 Python
python实现一组典型数据格式转换
Dec 15 Python
Python字符串内置函数功能与用法总结
Apr 16 Python
flask的orm框架SQLAlchemy查询实现解析
Dec 12 Python
Python 字典一个键对应多个值的方法
Sep 29 Python
python 利用Pyinstaller打包Web项目
Oct 23 Python
python给list排序的简单方法
Dec 10 Python
Pycharm 如何一键加引号的方法步骤
Feb 05 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设计模式 Prototype (原型模式)代码
2011/06/26 PHP
php将金额数字转化为中文大写
2015/07/09 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
详解vue中使用express+fetch获取本地json文件
2017/10/10 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
vue下的@change事件的实现
2019/10/25 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
Python中的zipfile模块使用详解
2015/06/25 Python
Python 串口通信的实现
2020/09/29 Python
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
一些PHP的面试题
2015/05/06 面试题
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
女大学生自我鉴定
2013/12/09 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
2015年社区精神文明工作总结
2015/05/26 职场文书
毕业答辩开场白范文
2015/05/27 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
导游词之吉林花园山
2019/10/17 职场文书
Python异常类型以及处理方法汇总
2021/06/05 Python
vue+echarts实现多条折线图
2022/03/21 Vue.js