np.mat如何使用
和array的最主要的区别是不能再m[0][1]这样取值,而是需要m[0,1]这样取值

>>> 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]             #注意不能像数组那样取值了
Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/usr/lib64/python2.7/site-packages/numpy/matrixlib/defmatrix.py", line 305, in __getitem__out = N.ndarray.__getitem__(self, index)
IndexError: index 1 is out of bounds for axis 0 with size 1#将Python的列表转换成NumPy的矩阵
>>> list=[1,2,3]
>>> mat(list)
matrix([[1, 2, 3]])#Numpy dnarray转换成Numpy矩阵
>>> n = np.array([1,2,3])
>>> n
array([1, 2, 3])
>>> np.mat(n)
matrix([[1, 2, 3]])#排序
>>> m=np.mat([[2,5,1],[4,6,2]])    #创建2行3列矩阵
>>> m
matrix([[2, 5, 1],[4, 6, 2]])
>>> m.sort()                    #对每一行进行排序
>>> m
matrix([[1, 2, 5],[2, 4, 6]])>>> m.shape                     #获得矩阵的行列数
(2, 3)
>>> m.shape[0]                  #获得矩阵的行数
2
>>> m.shape[1]                  #获得矩阵的列数
3#索引取值>>> m[1,:]                      #取得第一行的所有元素
matrix([[2, 4, 6]])
>>> m[1,0:1]                    #第一行第0个元素,注意左闭右开
matrix([[2]])
>>> m[1,0:3]
matrix([[2, 4, 6]])
>>> m[1,0:2]
matrix([[2, 4]])

1. 生成数组所需格式不同

mat可以从字符串或列表中生成;array只能从列表中生成

import numpy as np
# mat = asmatrix 源码当中mat作为指向asmatrix函数的一个变量
arr_a = np.mat(data="1,2;3,4")
arr_b = np.asmatrix([[5,6],[7,8]])
print(arr_a)
'''
[[1 2][3 4]]
'''
print(arr_b)
'''
[[5 6][7 8]]
'''

2. 生成的数组计算方式不同

array生成数组,用np.dot()表示矩阵乘积,(*)号或np.multiply()表示点乘

arr_a = np.array([[1, 1], [1, 1]])
arr_b = np.array([[2, 2], [2, 2]])
print(np.dot(arr_a, arr_b))
'''
[[4 4][4 4]]
'''
print(np.multiply(arr_a, arr_b))
'''
[[2 2][2 2]]
'''
print(arr_a*arr_b)
'''
[[2 2][2 2]]
'''

mat生成数组,(*)和np.dot()相同,点乘只能用np.multiply()

a = np.mat([[1, 1], [1, 1]])
b = np.mat([[2, 2], [2, 2]])
print(np.dot(a, b))
'''
[[4 4][4 4]]
'''
print(a*b)
'''
[[4 4][4 4]]
'''
print(np.multiply(a, b))
'''
[[2 2][2 2]]
'''

np.mat如何使用相关推荐

  1. np.mat()函数与np.array()函数的辨析

    写在前面 今天,在学习numpy的时候,偶然看到np.mat()函数,查了一下,也是生成矩阵,这里的mat与MATLAB中的很相似,所以在这里简单的记录一下np.mat()函数应该怎么使用,和nump ...

  2. np.array()和np.mat()区别

    1. 生成数组所需格式不同 mat可以从字符串或列表中生成:array只能从列表中生成 2. 生成的数组计算方式不同 array生成数组,用np.dot()表示矩阵乘积,(*)号或np.multipl ...

  3. Python mat与array的区别

    起源: Python中的numpy包是一个科学计算包,在进行科学计算时多数情况下都会用到这个包,但是其中的array和mat这两个函数的区别还是要注意.数据的类型很有可能是程序出现bug的一个难以发现 ...

  4. numpy库中的mat和array使用小结

    numpy的导入和使用: from numpy import *; 矩阵Mat的创建 1.由一维或二维数据创建矩阵 a1=array([1,2,3]); a1=mat(a1); 由列表list创建矩阵 ...

  5. np python_python小白之np功能快速查

    np一些用法 np.a np.array([1,2,3],dtype=int)  #建立一个一维数组, np.array([[1,2,3],[2,3,4]])  #建立一个二维数组. np.arang ...

  6. Numpy.array()详解 、np.array与np.asarray辨析、 np.array和np.ndarry的区别

    记录一下numpy.array()的详细用法,以及与np.asarray()和np.ndarray()的区别. 目录 1. Numpy.array()详解 1.1 函数形式 1.2 参数详解 1.3 ...

  7. 详述numpy中的np.random.rand()、np.random.randn()、np.random.randint()、np.random.uniform()函数的用法

    目录 (一)np.random.rand() (二)np.random.randn() (三)np.random.randint(low,high,size,dtype) (四)np.random.u ...

  8. Numpy || np.array()函数用法指南

    1.Numpy ndarray对象 numpy ndarray对象是一个n维数组对象,ndarray只能存储一系列相同元素. #一维数组 [1,2,3,4] #shape(4,)#二维数组 [[1,2 ...

  9. numpy.mat和numpy.matrix的区别

    正文 np.mat和np.matrix的区别 官方文档 np.mat 解释 代码示例 np.matrix 解释 代码示例 np.mat和np.matrix的区别 官方文档 np.mat 解释 如果输入 ...

最新文章

  1. 整合公司3个网站后台管理子系统的经验总结 - 实现多系统的单点登录(ASP.NET + ASP)...
  2. 多层AOP 解决AOP执行顺序
  3. python3 aes 解密
  4. WinAPI: waveInUnprepareHeader - 清除由 waveInPrepareHeader 完成的准备
  5. 这才是数据挖掘领域常用的机器学习算法!
  6. Java平台模块系统公众审查未能通过
  7. 【剑指offer】面试题49:丑数
  8. 【kafka】kafka 指定分区消费 不会触发 reblance
  9. 程序包androidx.support.annotation不存在/import android.support.annotation.NonNull;报错
  10. python中基例_python | 自定义函数
  11. 高等数学习题全解指南下册同济第七版课后习题答案
  12. lua jit android,某LuaJit游戏解密教程~~
  13. linux运行python乱码_linux下python中文乱码解决方案
  14. 《车间调度及其遗传算法》学习——前言
  15. 安德鲁1.2Ku使用感受
  16. 白盒测试——循环测试
  17. 一文搞懂什么是模拟退火算法SImulated Annealing【附应用举例】
  18. 2021-05-12轮训算法
  19. 伽玛函数(Gamma函数)C++实现
  20. 「英语口语」六级口语考题应答模板

热门文章

  1. Tomcat是一个Servlet容器?
  2. 书生笔记-binlog 的写入机制
  3. Python实现isPrime()函数,参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False。通过调用isPrime()函数,打印200以内的所有质数,以空格分割。
  4. Vim 复制 全部复制
  5. 《大数据架构和算法实现之路:电商系统的技术实战》——2.4 案例实践
  6. 6个usb口服务器无响应,USB插口无反应怎么办?USB接口不能用解决办法
  7. mysql 唯一序列号_利用mysql生成唯一序号
  8. 路径规划的二次规划方法-知识总结
  9. 一矢多穿:多目标排序在爱奇艺短视频推荐中的应用
  10. vmware虚拟机安装win7_虚拟机VMware安装使用设置教程