人工智能入门训练营(第十一期)笔记
主要内容:
-
numpy的用法
-
matplot的用法
一、numpy的用法
1.导入numpy
import numpy as np
2.生成一个一位数组
np.array([1,2,3])
np.array(([1,2,3],[4,5,6]))
arr = np.array([1,2,3])
arr #输出结果 array([1,2,3])
arr = np.array((1,2,3))
arr #输出结果 array([1,2,3])
3.np.arange()生成数组
arr = np.arange(0,10) #0到9,不包括10
arr = np.arange(0,10,2) #步长是2,[0,2,4,6,8]
arr = np.arange(0,10,0.1) #步长是0.1,包含0-9.9
arr.reshape(2,50) #变成二维的,二行五十列
arr.reshape(25,4) #二十五行,四列 注:()内为相乘为100
4.np.zeros(),np.ones()
np.zeros((3,3)) #形成3*3都为0的矩阵
np.ones((4,3)) #形成4*3都为1的矩阵
5.np.random.randint()
np.random.randint(0,10) #随机生成一个0-10的数(整数)
np.random.randint(0,10,10) #随机生成十个0-10的数
np.random.randint(0,10,(5,2)) #随机生成十个0-10的数,并形成5*2的矩阵(五行两列)
6.np.linspace()
a = np.linspace(0,10) #生成一个0-10的等差数列,默认值是50
b = np.linspace(0,10,100) #等差数列,100
7.矩阵运算
w = np.arange(0,10).reshape(2,5) #两行五列的矩阵
x = np.arange(0,10).reshape(5,2) #五行两列的矩阵
z = np.dot(w,x) #w*x z是2*2矩阵
z = np.matmul(w,x) #在二维矩阵matmul和dot运算结果一样,维度变高结果不一样
a = np.arange(1,5).reshape(2,2) #2*2
b = np.arange(1,5).reshape(2,2)
a + b = 对位相加
a — b = 对位相减
a * b = 对位相乘
a / b = 都是1(这里都是一,是因为a和b的值是一样的)
注意:行列必须一样
8.numpy 的切片操作
arr = np.random.randint(0,10,(5,2)) #5行2列的二维数组
arr [:1,:] #第一个冒号是第一维,第一行,第二个冒号是列
arr [:,:1] #第一列
arr [1:3,:] #第二行,第三行
9.numpy的常用计算函数
arr = np.arange(0,10) #0-10的数组
arr.max() #取数组里面最大的
arr.min() #取数组里面最小的
arr.mean() #取均值
arr.argmin() #取最小值的位置(索引)
arr.argmax() #取最大值的位置
arr.std() #取标准差
arr.var() #取方差
二、matplot常用方法
1.打开jupyter notebook,新建页面
2.导入库
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
3.画出y = x**2的函数图像
x = np.arange(-10,10,0.1) #-10到10,步长为0.1
y = x**2 or y =np.square(x)
plt.plot(x,y,'r-') #抛物线的图像 r-红色的线,可以用 b- 蓝色 -是实线 --是虚线
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(-10,10) #给x设置取值范围
plt.ylim(0,100) #给y设置取值范围
4.画出 y = sin(x)的函数图像
pi=3.14 #定义pi
x = np.arange(0,2*pi,0.01) #生成x的值
y = np.sin(x)
x.shape,y.shape #x,y的值
plt.plot(x,y,'r-')
plt.xlim(0,2*pi)
plt.ylabel(-1,1)
plt.title('y = sin(x)') #给表一个title头
plt.plot(x,y=0) #把y=0的也画出来
5.画出y = np.square(x) + np.square(y)的图像
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = np.arange(-5,5,0.1)
y = np.arange(-5,5,0.1)
x,y = np.meshgrid(x,y)
z = -(x**2 +y**2)
fig = plt.figure() #生成一个画布
axes =Axes3D(fig) #生成一个三维坐标系,传入画布
axes = plt.axes(projection="3d")
axes.plot_surface(x,y,z,cmap='rainbow') #cmap图像显示模式
axes.view_init(50) #站在离水平面50来看图像
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/adminkeys/article/details/107905454