Python学习笔记——Numpy的初步学习(二)


愿幸福像内存一样经常溢出,金钱像硬盘一样存个没够,
好运像鼠标一样握在手中,生活像CPU一样奔腾不息,前途像显示器一样无比明亮。


Python学习笔记——Numpy的初步学习(二)_第1张图片  Python学习笔记——Numpy的初步学习(二)_第2张图片

目录

1.前言

2.矩阵的创建

2.1矩阵对象——numpy.matrix

 2.2矩阵对象属性

3.矩阵运算

 3.1矩阵相乘

 3.2矩阵转置、求逆

4.随机数模块——numpy.random 

4.1——seed函数 

4.2打乱顺序函数——shuffle 


1.前言

上篇已经讲解了数组的一些操作,本篇讲解矩阵的一些相关操作。在讲解之前我们先说说数组与矩阵的区别:


1.数组中的元素可以是字符或字符串,而矩阵只能是数
2.数学计算的区别。矩阵直接用*号相乘,而数组需用.dot()
3.array更灵活,不仅能表示1维、2维,还能表示多维数据,运算速度也更快。
4.矩阵显示时,元素间无逗号;数组显示时,元素间用逗号隔开

补充:二维数组的乘法、转置、求逆 

乘法:

A=np.array([[1,1],[2,2]])
B=np.array([[1,2],[3,2]])
print(A*B)               
print(np.dot(A,B))       

Python学习笔记——Numpy的初步学习(二)_第3张图片  

乘号运算符:对应元素分别相乘

矩阵相乘:按照矩阵相乘规则运算,使用函数matmul(A,B)或dot(A,B)


转置、求逆: 

  • 矩阵转置:np.transpose()
  • 矩阵求逆:np.linalg.inv()
a=np.array([[1,2],[3,4]]) 
print(np.transpose(a))    
print(np.linalg.inv(a))   

 Python学习笔记——Numpy的初步学习(二)_第4张图片

2.矩阵的创建

导入numpy模块                

import numpy as np

2.1矩阵对象——numpy.matrix

matrix(字符串/列表/元组/数组)
可简写mat(字符串/列表/元组/数组)
a=np.mat(' 1 2 3 4; 5 6 7 8 ') 
print(a)                       
print(type(a))                 
b=np.mat([[1,2,3,4],[5,6,7,8]])
print(b)                       
print(type(b))                 

Python学习笔记——Numpy的初步学习(二)_第5张图片

字符串组成,各元素空格隔开,各行分号隔开

 2.2矩阵对象属性

属性

说明

.ndim

矩阵的维数

.shape

矩阵的形状

.size

矩阵的元素个数

.dtype

元素的数据类型

与数组对象属性相同


3.矩阵运算


 3.1矩阵相乘

直接使用  * 

A=np.mat([[1,2,3],[1,1,1]])   
B=np.mat([[1,2],[3,4],[5,6]]) 
print(A*B)                    


 3.2矩阵转置、求逆

矩阵转置.T

矩阵求逆.I

A=np.mat([[1,2],[2,2]])      
print(A.T)                   
print(A.I)                   
print(A*A.I)  #矩阵×逆矩阵=单位矩阵   

 Python学习笔记——Numpy的初步学习(二)_第6张图片


4.随机数模块——numpy.random 

函数 功能描述 返回值
np.random.rand(d0,d1,...,dn) 元素在[0,1)区间均匀分布的数组 浮点数
np.random.uniform(low,high,size) 元素在[low,high)区间均匀分布的数组 浮点数
np.random.randint(low,high,size) 元素在[low,high)区间均匀分布的数组 整数
np.random.randn(d0,d1,...,dn) 产生标准正态分布的数组 浮点数
np.random.normal(loc,scale,size) 产生正态分布的数组 浮点数

4.1——seed函数 

伪随机数:由随机种子,根据一定的算法生成的。

随机种子:指定随机数生成时所用算法开始的整数值。

         如果使用相同seed()值,则每次生成的随机数都相同。

        如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差           异而不同。

        采用seed()函数设置随机种子,仅一次有效

        随机数产生的算法,和系统有关。

np.random.seed(256)          
print(np.random.rand(2, 3))  
print(np.random.rand(2,3))   

Python学习笔记——Numpy的初步学习(二)_第7张图片


4.2打乱顺序函数——shuffle 

np.random.shuffle(序列)

import numpy as np    
import random         
arr=np.arange(10)     
print(arr)            
np.random.shuffle(arr)
print(arr)            

b=np.arange(12).reshape(4,3)
print(b)                    
np.random.shuffle(b)        
print(b)                    

Python学习笔记——Numpy的初步学习(二)_第8张图片

对多维数组只会打乱第一维数据,对数据样本集的打乱。 


   

时节如流,冬雪落满山海。

岁末将至,新年踏歌而来。

纵使人潮汹涌,光阴似箭,

亦盼山海广阔,岁月风平。

Python学习笔记——Numpy的初步学习(二)_第9张图片

你可能感兴趣的:(python,numpy,矩阵)