NumPy的数组类(numpy.array)中提供了很多便捷的方法,在实现深度学习时,我们将使用这些方法。
# 1.导入NumPy
import numpy as np
这条语句就是“将numpy作为np导入”的意思。通过写成这样的形式,之后NumPy相关的方法均可通过np来调用。
# 2.生成NumPy数组
A = np.array([1,2,3])
np.array()接收Python列表作为参数,生成NumPy数组。
# 3.NumPy的算术运算
x = np.array([1,2,3])
y = np.array([2,4,6])
print("对应元素加法x+y=",x+y)
print("对应元素减法x-y=",x-y)
print("对应元素乘法x*y=",x*y)
print("对应元素除法x/y=",x/y)
对应测试结果:
# 4.NumPy的N维数组
A = np.array([[1,2],[3,4]]) # 创建二维数组A
print(A) # 打印二维数组A
print(A.shape) # 查看矩阵A的形状
print(A.dtype) # 查看矩阵A中元素的数据类型
对应测试结果:
NumPy数组可以生成N维数组,这里只展示了二维数组(矩阵)的生成。
# 5.广播
A = np.array([[1,2],[3,4]])
B = np.array([10,20])
print(A*10) # 矩阵与标量相乘
print(A*B) # 不同形状的数组相乘
对应测试结果:
NumPy中,形状不同的数组之间也可以进行运算。上述例子A*10中,标量10被扩展成2*2的形状,然后再与矩阵A进行乘法运算。例子A*B中,一维数组B通过复制扩展成了2*2的形状,然后再与矩阵A进行乘法运算。这就是NumPy的广播功能。
# 6.访问元素
X = np.array([[51,55],[14,19],[0,4]])
# 通过下标直接访问
print(X[0])
print(X[0][1])
# 运用for语句访问
for row in X:
print(row)
# 使用数组访问
X = X.flatten() # 将X转化为一维数组
print(X[np.array([0,2,4])]) # 访问索引为0,2,4的元素
print(X[X>15]) # 访问X中值大于15的元素
对应测试结果:
# 本博客参考了《深度学习入门——基于Python的理论与实现》(斋藤康毅著,陆宇杰译),特在此声明。
来源:CSDN
作者:武松111
链接:https://blog.csdn.net/weixin_44711653/article/details/104086101