NumPy数组与常量执行算术运算和比较运算时,会对每个数组元素执行计算,示例代码如下。
a=np.arange(5)
a
array([0, 1, 2, 3, 4])
a+5 #每个元素加上5
array([5, 6, 7, 8, 9])
a-5 #每个元素减去5
array([-5, -4, -3, -2, -1])
a5 #每个元素乘以5
array([ 0, 5, 10, 15, 20])
a**2 #每个元素求平方
array([ 0, 1, 4, 9, 16], dtype=int32)
a/2 #每个元素除以2,结果为浮点数
array([0. , 0.5, 1. , 1.5, 2. ])
a//2 #每个元素除以2,结果为整数
array([0, 0, 1, 1, 2], dtype=int32)
a<2.5 #每个元素执行比较运算
array([ True, True, True, False, False])
两个数组执行算术运算时,“”运算符用来计算元素乘积,“@”运算符和dot()方法用来计算矩阵乘积,示例代码如下。
a=np.array([[1,2],[3,4]])
b=np.array([[10,0],[0,10]])
a+b #矩阵加法
b-a #矩阵减法
a@b #矩阵乘法
a.dot(b) #矩阵乘法
a=np.array([[1,2,3],[4,5,6]])
a.T #矩阵转置
array([[1, 4],
[2, 5],
[3, 6]])
NumPy数组支持“+=”“*=”等赋值运算,且会用计算结果覆盖原数组,示例代码如下。a+=10
a
array([[11, 12, 13],
[14, 15, 16]])
a*=2
a
array([[22, 24, 26],
[28, 30, 32]])