记录python听课笔记
文章目录
-
1.1矩阵创建
-
1.2矩阵运算 矩阵的乘法 矩阵转置T 矩阵求逆I
-
2.1随机数模块 numpy.random
-
2.2随机打乱顺序函数洗牌
-
3.1Figure 对象:创建画布
-
3.2划分子图
-
3.3绘制子图标题和总标题
-
3.4绘制散点图
-
3.5绘制折线图
-
3.6绘制柱状图
一,矩阵
1.1矩阵创建
numpy矩阵和随机数 numpy.matrix
matrix(字符串/列表/元组/数组)
mat(字符串/列表/元组/数组)
import numpy as np
a=np.mat('1 2 3;4 5 6') #字符串参数 不同行用;隔开 不同元素用 隔开
print(a)
b=np.mat([[1,2,3],[4,5,6]]) #用列表创建矩阵
print(b)
c=np.array([[1,2,3],[4,5,6]])
m=np.mat(c)
print(type(c),type(m))
print(m.ndim,m.shape,m.size)
1.2矩阵运算 矩阵的乘法 矩阵转置T 矩阵求逆I
import numpy as np
a1=np.mat([[0,1],[2,3]])
a2=np.mat([[1,1],[2,0]])
a3=a1*a2
print(a3)
n=np.mat([[1,2],[-1,-3]])
print(n.T)
print(n.I)
print(n*n.I)
#非方阵的转置和求逆
a=np.array([[1,2,3],[4,5,6]])
m=np.mat(a)
print(m.T)
print(m.I)
二,随机数
2.1随机数模块 numpy.random
import numpy as np
a=np.random.rand(2,3) #创建2*3的随机数组,取值是在[0,1]之间的均匀分布浮点数
b=np.random.uniform(1,5,(3,2)) #创建2*3的随机数组,取值是在[1,5]之间的均匀分布浮点数
c=np.random.randn(2,3) #创建2*3的随机数组,符合标准正态分布
d=np.random.normal(0,1,(3,2)) #创建3*2的随机数组,符合正态分布均值0 方差1
print(a)
print(b)
print(c)
print(d)
2.2随机打乱顺序函数洗牌
np.random.shuffle(序列)
mport numpy as np
arr=np.arange(10)
print(arr)
np.random.shuffle(arr) #一维数组打乱
print(arr)
b=np.arange(12).reshape(4,3) #二维数组打乱 行间顺序打乱
np.random.shuffle(b)
print(b)
三, Matplotlib绘图基础
3.1Figure 对象:创建画布
import matplotlib.pyplot as plt
plt.figure(figsize=(3,2),facecolor="green") #画布
plt.plot() #空白图形
plt.show() #显示
3.2划分子图
划分子图subplot(行数,列数,子图序号)
import matplotlib.pyplot as plt
def foursubplot():
for i in range(1,5):
plt.subplot(2,2,i) #当各参数小于10中间的,可以省略写成(224)
plt.show()
foursubplot()
3.3绘制子图标题和总标题
import matplotlib.pyplot as plt
def plottitle():
plt.rcParams["font.sans-serif"]="SimHei"
plt.figure(facecolor="lightgrey")
plt.subplot(2,2,1)
plt.title("子标题1")
plt.subplot(2,2,2)
plt.title("子标题2",loc="left",color="b") #子标题2左对齐蓝色
plt.subplot(2,2,3)
myfontdict={"fontsize":12,"color":"g","rotation":30} #建立一个字典来写入子标题三的格式
plt.title("子标题3",fontdict=myfontdict)
plt.subplot(2,2,4)
plt.title("子标题4",color="w",backgroundcolor="black")
plt.suptitle("全局标题",fontsize=20,color="red",backgroundcolor="yellow")
plt.tight_layout(rect=[0,0,1,0.9]) #设置子图区域避免全局标题对子图的覆盖
plt.show()
plottitle()
3.4绘制散点图
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["font.sans-serif"]="SimHei" #黑体
plt.rcParams["axes.unicode_minus"]=False #正常显示负号
n=1024 #随机点个数1024
x1=np.random.normal(0,1,n) #生成数据点x坐标 标准正态分布
y1=np.random.normal(0,1,n) #生成数据点x坐标
x2=np.random.uniform(-4,4,(1,n))
y2=np.random.uniform(-4,4,(1,n))
plt.scatter(x1,y1,color="blue",marker="*",label="正态分布") #绘制散点图
plt.scatter(x2,y2,color="yellow",marker="o",label="均匀分布") #均匀分布的散点图
plt.legend() #显示图例 参数为空默认为右上角
plt.title("标准正态分布",fontsize=20) #设置标题
plt.text(2.5,2.5,"均值:0\n标准差:1") #显示文本
plt.xlim(-4,4) #设置x轴的范围
plt.ylim(-4,4) #设置y轴的范围
plt.xlabel('横坐标x',fontsize=14) #设置x轴标签文本
plt.ylabel('纵坐标y',fontsize=14) #设置y轴标签文本
plt.show() #显示绘图
3.5绘制折线图
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["font.sans-serif"]="SimHei" #黑体
y1=np.random.randint(27,37,n)
y2=np.random.randint(40,60,n)
plt.plot(y1,label="温度") #没有设置颜色
plt.plot(y2,label="湿度") #系统自动分配不同的颜色
plt.xlim(0,23) #设置x轴的范围
plt.ylim(20,70) #设置y轴的范围
plt.xlabel('小时',fontsize=14) #设置x轴标签文本
plt.ylabel('测量值',fontsize=14) #设置y轴标签文本
plt.title("24小时温度湿度统计",fontsize=20) #设置标题
plt.legend() #显示图例 参数为空默认为右上角
plt.show() #显示绘图
3.6绘制柱状图
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["font.sans-serif"]="SimHei" #黑体
plt.rcParams["axes.unicode_minus"]=False #正常显示负号
y1=[32,25,16,30,24,45,40,33,28,17,24,20]
y2=[-23,-35,-26,-35,-45,-43,-35,-32,-23,-17,-22,-28]
plt.bar(range(len(y1)),y1,width=0.8,facecolor="green",edgecolor="white",label="统计量1")
plt.bar(range(len(y2)),y2,width=0.8,facecolor="red",edgecolor="white",label="统计量2")
plt.title("柱状图",fontsize=20) #设置标题
plt.legend() #显示图例 参数为空默认为右上角
plt.show()