记录python听课笔记


文章目录

  • 记录python听课笔记
  • 一,矩阵
  • 1.1矩阵创建
  • 1.2矩阵运算 矩阵的乘法 矩阵转置T 矩阵求逆I
  • 二,随机数
  • 2.1随机数模块 numpy.random
  • 2.2随机打乱顺序函数洗牌
  • 三, Matplotlib绘图基础
  • 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)

python 产生core python 产生随机矩阵_随机数


python 产生core python 产生随机矩阵_数组_02


python 产生core python 产生随机矩阵_数组_03

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)

python 产生core python 产生随机矩阵_数据可视化_04


python 产生core python 产生随机矩阵_随机数_05


python 产生core python 产生随机矩阵_数组_06

二,随机数

2.1随机数模块 numpy.random

python 产生core python 产生随机矩阵_python 产生core_07

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)

python 产生core python 产生随机矩阵_python 产生core_08


python 产生core python 产生随机矩阵_随机数_09


python 产生core python 产生随机矩阵_随机数_10


python 产生core python 产生随机矩阵_python 产生core_11


python 产生core python 产生随机矩阵_数据可视化_12

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)

python 产生core python 产生随机矩阵_数据可视化_13

三, Matplotlib绘图基础

python 产生core python 产生随机矩阵_python 产生core_14


python 产生core python 产生随机矩阵_数组_15

3.1Figure 对象:创建画布

python 产生core python 产生随机矩阵_子图_16

import matplotlib.pyplot as plt
plt.figure(figsize=(3,2),facecolor="green")    #画布
plt.plot()                                     #空白图形
plt.show()                                     #显示

python 产生core python 产生随机矩阵_子图_17

3.2划分子图

python 产生core python 产生随机矩阵_数据可视化_18


划分子图subplot(行数,列数,子图序号)

import matplotlib.pyplot as plt
def foursubplot():
    for i in range(1,5):
        plt.subplot(2,2,i)                     #当各参数小于10中间的,可以省略写成(224)
    plt.show()
foursubplot()

python 产生core python 产生随机矩阵_子图_19

3.3绘制子图标题和总标题

python 产生core python 产生随机矩阵_数组_20


python 产生core python 产生随机矩阵_数据可视化_21


python 产生core python 产生随机矩阵_随机数_22


python 产生core python 产生随机矩阵_数据可视化_23


python 产生core python 产生随机矩阵_子图_24

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()

python 产生core python 产生随机矩阵_python 产生core_25

3.4绘制散点图

python 产生core python 产生随机矩阵_数组_26


python 产生core python 产生随机矩阵_数据可视化_27


python 产生core python 产生随机矩阵_子图_28


python 产生core python 产生随机矩阵_数组_29


python 产生core python 产生随机矩阵_数据可视化_30


python 产生core python 产生随机矩阵_数组_31


python 产生core python 产生随机矩阵_随机数_32

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()                                        #显示绘图

python 产生core python 产生随机矩阵_随机数_33

3.5绘制折线图

python 产生core python 产生随机矩阵_数据可视化_34


python 产生core python 产生随机矩阵_数组_35


python 产生core python 产生随机矩阵_python 产生core_36

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绘制柱状图

python 产生core python 产生随机矩阵_python 产生core_37


python 产生core python 产生随机矩阵_数组_38


python 产生core python 产生随机矩阵_数据可视化_39

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()