python numpy中mat和matrix的区别
个人理解:
np.mat()
import numpy as np
b=np.mat(a)
是将a转化为矩阵
如果a本身是矩阵,就是创建a的一个引用,相当于:np.matrix(a,copy=False)
无论a和b哪一个发生改变都会影响矩阵本身。
如果a不是矩阵,此时b就是a转化成矩阵的结果,是在原有的基础上进行copy().
np.matrix()
单纯的是创建一个矩阵。
补充:python中numpy模块下函数array()和mat()的区别
1. mat()函数与array()函数生成矩阵所需的数据格式有区别
(1) mat()函数中数据可以为字符串以分号(;)分割,或者为列表形式以逗号(,)分割。而array()函数中数据只能为后者形式。
如mat()函数生成矩阵时一下两种方式都正确。
(2) 而array()函数生成矩阵时数据只能为列表形式。
2. mat()函数与array()函数生成的矩阵计算方式不同
(1) mat()函数中矩阵的乘积可以使用(星号) * 或 .dot()函数,其结果相同。而矩阵对应位置元素相乘需调用numpy.multiply()函数。
(2) array()函数中矩阵的乘积只能使用 .dot()函数。而星号乘 (*)则表示矩阵对应位置元素相乘,与numpy.multiply()函数结果相同。
如生成以下矩阵:
a = numpy.mat([[1, 3], [5, 7]]) b = numpy.mat([[2, 4], [6, 8]]) c = numpy.array([[1, 3], [5, 7]]) d = numpy.array([[2, 4], [6, 8]])
则 a * b = a.dot(b) = c.dot(d)
,其表示矩阵相乘。
而 numpy.multiply(a, b) = c * d = numpy.multiply(c, d)
,其表示矩阵对应位置元素相乘。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
Python numpy中矩阵的基本用法汇总
Python矩阵的基本用法 mat()函数将目标数据的类型转化成矩阵(matrix) 1,mat()函数和array()函数的区别 Numpy函数库中存在两种不同的数据类型(矩阵matrix和数组array),都可以用于处理行列表示的数字元素,虽然他们看起来很相似,但是在这两个数据类型上执行相同的数学运算可能得到不同的结果,其中Numpy函数库中的matrix与MATLAB中matrices等价. 直接看一个例子: import numpy as np a = np.mat('1 3;5 7')
-
python+numpy实现的基本矩阵操作示例
本文实例讲述了python+numpy实现的基本矩阵操作.分享给大家供大家参考,具体如下: #! usr/bin/env python # coding: utf-8 # 学习numpy中矩阵的代码笔记 # 2018年05月29日15:43:40 # 参考网站:http://cs231n.github.io/python-numpy-tutorial/ import numpy as np #==================矩阵的创建,增删查改,索引,运算==================
-
Python中Numpy mat的使用详解
前面介绍过用dnarray来模拟,但mat更符合矩阵,这里的mat与Matlab中的很相似.(mat与matrix等同) 基本操作 >>> m= np.mat([1,2,3]) #创建矩阵 >>> m matrix([[1, 2, 3]]) >>> m[0] #取一行 matrix([[1, 2, 3]]) >>> m[0,1] #第一行,第2个数据 2 >>> m[0][1] #注意不能像数组那样取值了 Trace
-
python numpy中mat和matrix的区别
个人理解: np.mat() import numpy as np b=np.mat(a)是将a转化为矩阵 如果a本身是矩阵,就是创建a的一个引用,相当于:np.matrix(a,copy=False) 无论a和b哪一个发生改变都会影响矩阵本身. 如果a不是矩阵,此时b就是a转化成矩阵的结果,是在原有的基础上进行copy(). np.matrix() 单纯的是创建一个矩阵. 补充:python中numpy模块下函数array()和mat()的区别 1. mat()函数与array()函数生成矩阵
-
对numpy中array和asarray的区别详解
array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会. 举例说明: import numpy as np #example 1: data1=[[1,1,1],[1,1,1],[1,1,1]] arr2=np.array(data1) arr3=np.asarray(data1) data1[1][1]=2 print 'data1:\n',data1 print 'ar
-
详解Python NumPy中矩阵和通用函数的使用
目录 一.创建矩阵 二.从已有矩阵创建新矩阵 三.通用函数 四.算术运算 在NumPy中,矩阵是 ndarray 的子类,与数学概念中的矩阵一样,NumPy中的矩阵也是二维的,可以使用 mat . matrix 以及 bmat 函数来创建矩阵. 一.创建矩阵 mat 函数创建矩阵时,若输入已为 matrix 或 ndarray 对象,则不会为它们创建副本. 因此,调用 mat() 函数和调用 matrix(data, copy=False) 等价. 1) 在创建矩阵的专用字符串中,矩阵的行与行之
-
浅谈python numpy中nonzero()的用法
nonzero函数返回非零元素的目录. 返回值为元组, 两个值分别为两个维度, 包含了相应维度上非零元素的目录值. import numpy as np A = np.mat([[0,1,2,3,4,3,2,1,0],[0,1,2,3,4,5,6,7,0]]) x = A.nonzero() #取出矩阵中的非零元素的坐标 print x #输出是一个元组,两个维度.一一对应, #返回非零元素在矩阵中的位置,前一个列表存放非零行坐标,后一个列表存放非零元素列坐标 #(array([0, 0, 0,
-
Python Numpy中ndarray的常见操作
目录 前言 0 Numpy基础知识 1 ndarray的属性 1.1 输出ndarray的常见属性 2 ndarray的数据类型 3 修改ndarray的形状和数据类型 3.1 查看和修改ndarray的形状 3.2 查看和修改ndarray的数据类型 4 ndarray数组创建 5 ndarray数组的常见运算 6 ndarray数组的索引.切片和迭代 7 ndarray数组的堆叠.拆分 前言 NumPy(Numerical Python)是Python的一种开源的数值计算扩展.这种工具可用来
-
python类中super()和__init__()的区别
单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(self): print 'Base create' class childA(Base): def __init__(self): print 'creat A ', Base.__init__(self) class childB(Base): def __init__(self): print 'creat B ', super(childB, self).__
-
在Python3 numpy中mean和average的区别详解
mean和average都是计算均值的函数,在不指定权重的时候average和mean是一样的.指定权重后,average可以计算一维的加权平均值. 具体如下: import numpy as np a = np.array([np.random.randint(0, 20, 5), np.random.randint(0, 20, 5)]) print('原始数据\n', a) print('mean函数'.center(20, '*')) print('对所有数据计算\n', a.mean(
-
在python Numpy中求向量和矩阵的范数实例
np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False) ①x: 表示矩阵(也可以是一维) ②ord:范数类型 向量的范数: 矩阵的范数: ord=1:列和的最大值 ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根 ord=∞:行和的最大值 ③axis:处理类型 axis=1表
-
关于numpy中eye和identity的区别详解
两个函数的原型为: np.identity(n, dtype=None) np.eye(N, M=None, k=0, dtype=<type 'float'>): np.identity只能创建方形矩阵 np.eye可以创建矩形矩阵,且k值可以调节,为1的对角线的位置偏离度,0居中,1向上偏离1,2偏离2,以此类推,-1向下偏离.值绝对值过大就偏离出去了,整个矩阵就全是0了. 以上这篇关于numpy中eye和identity的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希
-
Python时间差中seconds和total_seconds的区别详解
如下所示: import datetime t1 = datetime.datetime.strptime("2017-9-06 10:30:00", "%Y-%m-%d %H:%M:%S") t2 = datetime.datetime.strptime("2017-9-06 12:30:00", "%Y-%m-%d %H:%M:%S") interval_time = (t2 - t1).seconds # 输入的结果:7
随机推荐
- Vue.js bootstrap前端实现分页和排序
- Python 文件处理注意事项总结
- vue.js绑定class和style样式(6)
- mysql设置远程访问数据库的多种方法
- php文件上传表单摘自drupal的代码
- 网页设计中色彩搭配的内涵
- Boa服务器下的ajax与cgi通信
- 做文章系统时, 如何让长篇的文章自动换行
- 1975-1985年出生的人,值得收藏和回味的帖子
- 微信或手机浏览器在线显示office文件(已测试ios、android)
- Sql Server中的系统视图详细介绍
- jQuery实现拖动调整表格单元格大小的代码实例
- w3wp.exe占用CPU和内存问题过高的解决方法
- 详解Android Activity之间跳转出现短暂黑屏的处理方法
- mybatis一对一查询功能
- JavaScript显示表单内元素数量的方法
- 详解Angular调试技巧之报错404(not found)
- vue2过滤器模糊查询方法
- layui实现把数据表格时间戳转换为时间格式的例子
- vue实现表单录入小案例