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实现抓取网页并且解析的实例
Sep 20 Python
python在文本开头插入一行的实例
May 02 Python
Python使用try except处理程序异常的三种常用方法分析
Sep 05 Python
python读取图片任意范围区域
Jan 23 Python
利用python实现AR教程
Nov 20 Python
Python2与Python3的区别详解
Feb 09 Python
python随机模块random使用方法详解
Feb 14 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
Mar 14 Python
Python连接Mysql进行增删改查的示例代码
Aug 03 Python
Python 串口通信的实现
Sep 29 Python
Python更改pip镜像源的方法示例
Dec 01 Python
Matplotlib绘制混淆矩阵的实现
May 27 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
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
php json_encode值中大括号与花括号区别
2013/09/30 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
javascript 播放器 控制
2007/01/22 Javascript
JavaScript While 循环基础教程
2007/04/05 Javascript
div移动 输入框不能输入的问题
2009/11/19 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
js实现导航吸顶效果
2017/02/24 Javascript
vue 扩展现有组件的操作
2020/08/14 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
python选择排序算法的实现代码
2013/11/21 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
使用python生成目录树
2018/03/29 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
Pandas分组与排序的实现
2019/07/23 Python
Python之变量类型和if判断方式
2020/05/05 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
new修饰符是起什么作用
2015/06/28 面试题
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
测绘工程本科生求职信
2013/10/10 职场文书
部队万能检讨书
2014/02/20 职场文书
讲解员培训方案
2014/05/04 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
经理任命书模板
2014/06/06 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
捐资助学感谢信
2015/01/21 职场文书
中小企业员工手册范本
2015/05/14 职场文书
同事离别感言
2015/08/04 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书