Python numpy矩阵处理运算工具用法汇总


Posted in Python onJuly 13, 2020

numpy是用于处理矩阵运算非常好的工具。执行效率高,因为其底层是用的是C语句

使用numpy,需要将数据转换成numpy能识别的矩阵格式。

基本用法:

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

名称描述

  • object数组或嵌套的数列
  • dtype数组元素的数据类型,可选,例如:int64,int16,int32,float64等,位数越高,精度越高,但也更耗内存。
  • copy对象是否需要复制,可选
  • order创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
  • subok默认返回一个与基类类型一致的数组
  • ndmin指定生成数组的最小维度。几维数组,默认0维数组

创建numpy矩阵的其他形式

  • np.zeros((3,4)):创建3行4列值都为0矩阵
  • np.ones((3,4)):创建3行4列值都为1矩阵
  • np.random.random((3,4)):创建3行4列值为0~1随机数
  • np.arange(1,20,5).shape(3,4):创建3行4列维数组,数值从1到20,步长为5
  • np.arange(5) : 创建1维数组,数值从0至4
  • np.empty((3,4)):创建3行4列值为空的矩阵
  • np.linspace(1,10,10):创建1维数组,开始点为 1 ,终止点为 10,数列个数为 10。即元素共10个.[1,2,3,4,5,6,7,8,9.10]

Python numpy矩阵处理运算工具用法汇总

np.sin(a),即计算该矩阵值的sin结果

np.cos(a)

np.tan(a)

arcsin,arccos,和 arctan 函数返回给定角度的 sin,cos 和 tan 的反三角函数。

矩阵a,矩阵b

a+b,代表逐一加法
a/b,代表逐一除法
a-b,代表逐一减法
a*b,代表逐一乘积

  • np.dot(a,b),a.dot(b)则代表矩阵乘法
  • np.argmin(a),最小值的索引
  • np.argmax(a),最大值的索引
  • mean[a]平均值
  • A.mean平均值,只是表达形式不一样,与老版的average是一样的功能
  • median(A),中位数,与平均值一样的数
  • cumsum(A),第两位数的累加,变成一个一维数组
  • diff(A),每两个数进行减法,按行,原行-1
  • notzero(A),返回两个arrage,表示不为0的索引值
  • sort(A),按行从小到大排序
  • transpose(A),矩阵的反向、向转等同于A.T,
  • clip(A,3,9),所有小于3的值,变成3,所有大于9的值,变成9

索引

  • A[1]第一行
  • A[1][1]第1行第1列
  • A[1,1]第1行第1列,与上面一样只是表达形式不一样
  • A[2,:]第2行所有的数据
  • A[:,2]第2列所有的数据
  • A[1,1:2]第1行,从第1列到第2列的数据

遍历

for row in A:
print row

默认迭代行数显示行。

np没有提供按列迭代,需要用些手段,例如将矩阵进行反转遍历即可实现

for column in A.T:
print colum

如果要迭代其项目,则A需要转换成一行序列

for item in A.flag:
print item

另注意A.flatten()返回的也是一个序列,与flag类似。功能一样

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
零基础写python爬虫之神器正则表达式
Nov 06 Python
用Python生成器实现微线程编程的教程
Apr 13 Python
Python出现segfault错误解决方法
Apr 16 Python
Python脚本实现Web漏洞扫描工具
Oct 25 Python
非递归的输出1-N的全排列实例(推荐)
Apr 11 Python
Python管理Windows服务小脚本
Mar 12 Python
python3+PyQt5使用数据库窗口视图
Apr 24 Python
python+unittest+requests实现接口自动化的方法
Nov 29 Python
python字典改变value值方法总结
Jun 21 Python
如何利用Python模拟GitHub登录详解
Jul 15 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
Python实现byte转integer
Jun 03 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
Jul 13 #Python
Python使用pyexecjs代码案例解析
Jul 13 #Python
如何在VSCode下使用Jupyter的教程详解
Jul 13 #Python
解决python 虚拟环境删除包无法加载的问题
Jul 13 #Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
Jul 13 #Python
Python使用itcaht库实现微信自动收发消息功能
Jul 13 #Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
Jul 13 #Python
You might like
php学习之数据类型之间的转换代码
2011/05/29 PHP
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
详解PHP中的PDO类
2015/07/06 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
实例讲解JQuery中this和$(this)区别
2014/12/08 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
微信小程序如何实现五星评价功能
2019/10/15 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
[36:33]Ti4 循环赛第四日 附加赛NEWBEE vs Mouz
2014/07/13 DOTA
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
python 自动识别并连接串口的实现
2021/01/19 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
感恩小明星事迹材料
2014/05/23 职场文书
525心理活动总结
2014/07/04 职场文书
教师党员自我评议不足范文
2014/10/19 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
一年级下册数学教学反思
2016/02/16 职场文书
《灰雀》教学反思
2016/02/19 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
详解Spring Bean的配置方式与实例化
2022/06/10 Java/Android